perl -i.bak -pe's/old text/new text/g' directory/*.ext #### @ARGV == 2 or die "usage: $0 directory extention\n"; my ( $dir, $ext ) = splice @ARGV; ( $^I, @ARGV ) = ( '.bak', <$dir*.$ext> ); while ( <> ) { s/old text/new text/g; print; }