in reply to filenames with spaces causing problems

The real problem is in how the shell interprets the command line. Rather than passing the output of ls to your script (which can fail for very large directories) look into just passing the directory name and then using opendir/readdir or IO::Dir to read and process the contents of the directory. File::Copy's move should then work fine (caveat -- I haven't tried it).

-derby

update: dws is correct, it's the output of `ls` that is messing you up. Check your shell documentation for IFS (Internal Field Separator). If you're convinced the backtick approach is what you want, you could set the IFS variable to something other than whitespace (say a comma) and then use something like `ls -m` ... but then you'd have to deal with leading whitespace.

  • Comment on Re: filenames with spaces causing problems