use strict; use warnings; use File::Find; find(\&process, 'F:'); sub process() { my $f = uc($File::Find::name); if ( -f $f) { my $c = $f; $c =~ s/^F:/C:/; if (-e $c) { if (-s $f != -s $c) { print "unequal size: $f\n"; } } else { print "missing in destination: $c\n"; } } } #### Can't opendir(F:Users/Joel/Documents/My Music): Invalid argument at f1.pm line 6 Can't opendir(F:Users/Joel/Documents/My Pictures): Invalid argument at f1.pm line 6 Can't opendir(F:Users/Joel/Documents/My Videos): Invalid argument at f1.pm line 6 #### C:\Users\Joel>dir Volume in drive C has no label. Volume Serial Number is DE8B-53F2 Directory of C:\Users\Joel 11/29/2010 01:51 PM . 11/29/2010 01:51 PM .. 02/07/2011 03:05 PM Contacts 02/11/2011 01:11 PM Desktop 02/07/2011 03:36 PM Documents 02/11/2011 01:11 PM Downloads 08/07/2010 02:16 AM Favorites 08/07/2010 02:16 AM Links 12/24/2010 07:21 PM Music 02/07/2011 10:28 AM Pictures 08/07/2010 02:16 AM Saved Games 08/07/2010 02:16 AM Searches 12/12/2009 05:08 PM 0 Sti_Trace.log 09/07/2010 06:58 AM Videos 1 File(s) 0 bytes 13 Dir(s) 280,595,611,648 bytes free #### C:\Users\Joel>cd "my documents" C:\Users\Joel\My Documents>dir Volume in drive C has no label. Volume Serial Number is DE8B-53F2 Directory of C:\Users\Joel\My Documents File Not Found C:\Users\Joel\My Documents>