in reply to unix mv command

As japhy said, the filenames may contain characters that are messing up your command line. For this reason, you should use this form of system :
system($cmd,@args)
But instead, why don't you just use File::Copy:

File::Copy::move( $old, $new ) or die $!;
That will try to rename the file, if it can (ie if the destination file is on the same partition as the original), otherwise it'll copy it and delete the original, or it'll tell you why.

Clint

UPDATE (doh): I meant move not copy