my @files = File::Find::Rule->file()->name('*.log')->maxdepth(1)->in($destinationDirectory); foreach my $src ( @files ){ my $dest = $src; $dest =~ s/[^.]+$/txt/; rename $src, $dest; }