Unfortunately, $! is not that much helpful with File::Copy; for instance, it doesn't say whether the error occurs when reading or writing the file.
However, I consider it unlikely that the effect you are describing is due to a problem with Copy::File.
I noticed that source- and target file in your example have the same modification time. Could it be that some other function in your program test.mp3, after it was copied? You could unlink test.mp3 before doing the copying (to clean up anything left from the previous test run), and do a system('ls -l *mp3') immediately after the call to copy().
--
Ronald Fischer <ynnor@mm.st>
| [reply] [d/l] [select] |