in reply to How is this printing?

Keep in mind that failed matches don't reset the value of the match variables -- if you later do a regex match you'll want to be sure your $1 isn't from this current match. Example:
$foo = "bungling"; $foo =~ /(ngl.)/; ## $1 is now "ngli" $matched = $1; ## $matched = "ngli" $foo =~ /bung(ngl.)/; ## No match! $matched2 = $1; ## $matched 2 is now "ngli"
Also, a lot of programmers will apply regexes against the "default" variable
$_="tricky"; ## usually not assigned explicitly, typically comes in d +uring a for loop /tr(.{3})y/; print $1; # $1 = "ick"