#!/usr/bin/perl use strict; use warnings; my($copy) = "$ARGV[0].bak"; copy($ARGV[0], $copy) or die "File cannot be copied. \n"; open(INPUT,"$copy") or die 'Cannot open file: $!\n'; open(OUTPUT,">$ARGV[0]"); my($replacePattern1) = "foo1"; my($searchPattern1) = "bar1"; my($replacePattern2) = "foo2"; my($searchPattern2) = "bar2"; my($replacePattern3) = "foo3"; my($searchPattern3) = "bar3"; my($pattern) = 0; while () { if ($_ =~ s/$searchPattern1/$replacePattern1/g) { $pattern = 1; } elsif ($_ =~ s/$searchPattern2/$replacePattern2/g) { $pattern = 2; } elsif ($_ =~ s/$searchPattern3/$replacePattern3/g) { $pattern = 3; } print OUTPUT $_; }close INPUT; close OUTPUT; unlink($copy);