use strict; my @params=qw(input output pattern replacement); my %settings; @settings{@params}=("0")x @params; foreach my $key (sort keys %settings) { print "$key="; chomp($settings{$key}=<>); } open IN,"<",$settings{"input"} || die "not a rockstar today"; -e $settings{"output"} and die("File Exists..will not override!") or open(OUT,">",$settings{"output"}) or die "Error while opening file: $!"; while () { # s/$settings{"pattern"}/$settings{"replacement"}/g; print OUT $_; } # end while close (IN); close (OUT);