And the actual call to Win32::CopyFile() in File/Copy.pm (nested within a large, unwieldy if..else chain) uses the same syntax:use Win32; Win32::CopyFile( "$src_path/$upc/$realtracknum.mp3", "$dst_path/$upc/$realtracknum.mp3", 1 ) or warn "couldnt File::Copy $src_path/$upc/$realtracknum.mp3: $!";
So the problem seems to be with File/Copy.pm calling Win32::CopyFile(). Whatever that seems to indicate, though, I'm not quite sure.return 0 unless @_ == 2; return Win32::CopyFile(@_, 1);
Addendum: I also tried passing an actual array, to see if that somehow pooched the XS code, but this still works without any warnings:
my @copy_args = ( "$src_path/$upc/$realtracknum.mp3", "$dst_path/$upc/$realtracknum.mp3" ); Win32::CopyFile(@copy_args, 1) or warn "couldnt File::Copy $src_path/$upc/$realtracknum.mp3: $!";
__________
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
In reply to Re^2: Attempt to free unreferenced scalar in File::Copy (ActivePerl)
by EvanK
in thread Attempt to free unreferenced scalar in File::Copy (ActivePerl)
by EvanK
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |