$_ = "abcde"; if (/(.)(.)/) { # first two if (/(.)(.)$/) { # last two, by your theory won't upset print "inner: $1 $2\n"; } # by your theory, should see first two again print "outer: $1 $2\n"; }