Dimchik
Временно вместо "copy("$sourcedir","$dir");"
1: print "$sourcedir\\n$dir\\n"; # И смотри, что не так с путями,
2: print `cp $sourcedir $dir`; # Если скопируется, то возможно File::Copy ничего не знает про твою файловую систему (врядли конечно, но мало ли).
ps: обязательно "use warnings;" и смотри, что в логи пишется