http://www.perlmonks.org?node_id=860021

rookie_monk has asked for the wisdom of the Perl Monks concerning the following question:

Good Afternoon, I cannot seem to figure out why the 3rd pattern match(if statement) does not get triggered. Below is the code and also the results. Thanks in advance for your help.
use strict; my $SetName = "MR_\\1\\2\\3"; my $orig1 = "P"; my $orig2 = "A"; my $orig3 = "T"; my $new1 = "\\\\3"; my $new2 = "\\\\2"; my $new3 = "\\\\1"; if ($new1 =~ /\\3/) { if ($SetName =~ /\\3/) { print "hi!! 3\n"; $SetName =~ s/$new3/$orig1/; } if ($SetName =~ /\\2/) { print "hi!! 2\n"; $SetName =~ s/$new2/$orig2/; } if ($SetName =~ /\\1/) { print "hi!! 1\n"; $SetName =~ s/$new1/$orig3/; } print "SetName = $SetName\n"; } The output is: Hi!! 3 Hi!! 2 SetName = MR_PA\3
Not sure why it didnt print "Hi!! 1". Thanks again.