#!/usr/bin/perl use File::Basename qw(fileparse); @ARGV == 3; my $dir = $ARGV[0]; my $old = $ARGV[1]; my $new = $ARGV[2]; opendir(my $path, $dir); my @list = readdir($path); foreach(@list){ my $name = fileparse("$_", ".$old"); rename("$name.$old", "$name.$new"); };