perl -p -i.bak -e 's/\$Log/\$History/gi' * #### $InputArray is a scalar not an Array. #### #!/usr/bin/perl use File::Find; my @dirs = @ARGV; @ARGV = (); File::Find::find( { wanted => sub { push @ARGV, $File::Find::name if -f } }, @dirs ); local $^I; while ( defined( $_ = ) ) { s/\$Log:/\$History:/gi; print; }