I've tested this first on my own desktop under Windows 2000 Professional, running ActivePerl v5.8.7 (ActiveState build 813), and as well on our win32 server under Windows 2003 Server, running ActivePerl v5.8.8 (ActiveState build 817).
The problem occurs within the following code:
I get the following output (this occurs in a loop, so the same output w/ warning repeats with 02.mp3, 03.mp3, etc):print "Copying $src_path\\$upc\\$tracknum.mp3 to $dst_path\\$upc\\$tra +cknum.mp3\n"; copy("$src_path\\$upc\\$tracknum.mp3","$dst_path\\$upc\\$tracknum.mp3" +) or warn "Couldn't copy $src_path\\$upc\\$realtracknum.mp3: $!";
The copy actually succeeds, so my warn() is never called. But a different warning seems to be generated by the File::Copy module itself. I've even tried using forward-slashes in the paths instead of backslashes, with the same result. I could just use a backticked system command, but I'd like to keep it portable in case we move this to one of our linux servers later on.Copying m:\music\tracks\685506213212\01.mp3 to m:\music\tagged\6855062 +13212\01.mp3 Attempt to free unreferenced scalar: SV 0x1e77330, Perl interpreter: 0 +x15d45fc at C:/Perl/lib/File/Copy.pm line 91.
I've found messages from assorted mailing lists and forums that leads me to believe this is an error internal to the perl interpreter and is rather rare, could this be the case?
UPDATE: thanks to imp, it seems to be some kind of conflict between DBI and File::Copy, when running on ActiveState's build of perl. I'm going to report this to ActiveState as a bug, and use Win32::CopyFile() directly in the meantime. Thanks for the help, everyone!
__________
Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.
- Terry Pratchett
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |