ren *.log *.txt #### for f in /tmp/*.log ; do mv $f ${f%%.*}.txt; done #### 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; }