use strictures; use Path::Tiny; my %files = ("e:/pervasive/staging/summit/C01" => "e:/pervasive/test/APEX012015/C01", "e:/pervasive/staging/summit/C02" => "e:/pervasive/test/APEX022015/C02", "e:/pervasive/staging/summit/C03" => "e:/pervasive/test/APEX032015/C03", ); for my $key ( keys %files ) { my $original = path($key); my $destination = $files{$key}; $original->move($destination); } __END__ moo@cow[88]~>perl pm/1150117.pl Error rename on 'e:/pervasive/staging/summit/C01' -> 'e:/pervasive/test/APEX012015/C01': No such file or directory at pm/1150117.pl line 13.