chinman has asked for the wisdom of the Perl Monks concerning the following question:
Greetings Monkdom,
I'm running into some weirdness when trying to glob files when the directory name has spaces. This is on Win NT or 2000 running 5.6.1 build 631.
So my question is, what is the proper way to glob assuming that you may or may not have spaces in a directory file name? I've also tried all combinations of the glob operator with no luck...## case 1, with spaces in dir name my $dir = 'C:/foo/bar baz/'; ## this works ok my @xlfiles = <"$dir*.xls">; ## case 2, no spaces in dir name $dir = 'C:/foo/bar_baz/'; ## this does not work... @xlfiles = <"$dir*.xls">; ## but this does... @xlfiles = <$dir*.xls>;
glob("$dir*.xls") acts like <$dir*.xls>
Currently, I test for the presence of spaces and select the format that works with either case 1 or case 2, like this...but this seems kind of Harkonian. Any suggestions?if ( "$dir" =~ /.*\s+.*/ ) { @xlfiles = <"$dir*.xls">; } else { @xlfiles = <$dir*.xls>; }
Regards, chinman
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: file globbing heck
by belg4mit (Prior) on May 03, 2002 at 20:58 UTC | |
|
Re: file globbing heck
by Fastolfe (Vicar) on May 04, 2002 at 17:02 UTC |