http://www.perlmonks.org?node_id=762969

perlNinny has asked for the wisdom of the Perl Monks concerning the following question:

I have had no luck trying to ever just get the directory size, let alone move files and directories with files. Here is my unsucessful code:
use strict; use File::Copy; # yes, it is Windows XP and a drive letters assigned to a USB and a NA +S drive. # Indir and outdir will be a parameter in this format. my $inDir = "M:\AllFiles"; my $outDir = "n:\allFiles"; # test 1 straight in out in DOS format. MoveFiles($inDir,$outDir); # test 2 Try within quotes. MoveFiles("$inDir","$outDir"); # test 3 Try selecting ALL files in the directory MoveFiles($inDir."\*", $outDir); sub MoveFiles { my ( $source, $destination ) = @_; print "indir= $source, outdir=$destination\n"; my $source_size = (-s "$source") || 0; my $destination_size = (-s $destination) || 0; print "indir size=$source_size outdir size=$destination_size\n"; }
The results are three beeps plus this output:

indir= M:AllFiles, outdir=n:llFiles
indir size=0 outdir size=0
indir= M:AllFiles, outdir=n:llFiles
indir size=0 outdir size=0
indir= M:AllFiles*, outdir=n:llFiles
indir size=0 outdir size=0

So, what am I doing wrong?