ken@titan ~/tmp/pm_11145308_test_dir $ ls -1 a/b/c/d/e 'f:i-:l;e' 'fi:l;e' 'f-i:l;e' 'f-i-:l;e' fi:le #### #!/usr/bin/env perl use strict; use warnings; my @data = ( 'a/b/c/d/e/fi le', 'a/b/c/d/e/fi l e', 'a/b/c/d/e/f i l e', 'a/b/c/d/e/f i l e', ); for my $datum (@data) { print "\n*** Files matching '$datum':\n"; # $datum =~ y/ /?/; -- see update below $datum =~ s/ /[\\;:,-]/g; system("ls -1 $datum"); } #### ken@titan ~/tmp/pm_11145308_test_dir $ ./find_file_match.pl *** Files matching 'a/b/c/d/e/fi le': a/b/c/d/e/fi:le *** Files matching 'a/b/c/d/e/fi l e': 'a/b/c/d/e/fi:l;e' *** Files matching 'a/b/c/d/e/f i l e': 'a/b/c/d/e/f-i:l;e' *** Files matching 'a/b/c/d/e/f i l e': 'a/b/c/d/e/f:i-:l;e' 'a/b/c/d/e/f-i-:l;e'