<html><head></head><body><div class="ydpce8e30b1yahoo-style-wrap" style="font-family: courier new, courier, monaco, monospace, sans-serif; font-size: 16px;"><div style=""><div dir="ltr" data-setdir="false" style="font-family: courier new, courier, monaco, monospace, sans-serif; font-size: 16px;">PM,</div><div dir="ltr" data-setdir="false" style="font-family: courier new, courier, monaco, monospace, sans-serif; font-size: 16px;">><span><span style="font-family: Helvetica Neue, Helvetica, Arial, sans-serif;">And Uri has a very good point about needing to include some way to verify that the regex actually matched and returned values.</span></span></div><div dir="ltr" data-setdir="false" style="font-family: courier new, courier, monaco, monospace, sans-serif; font-size: 16px;"><span><span style="font-family: Helvetica Neue, Helvetica, Arial, sans-serif;"><br></span></span></div><div dir="ltr" data-setdir="false" style="font-family: courier new, courier, monaco, monospace, sans-serif; font-size: 16px;"><span><span style="font-family: Helvetica Neue, Helvetica, Arial, sans-serif;">I always</span></span></div><div dir="ltr" data-setdir="false" style="font-family: courier new, courier, monaco, monospace, sans-serif; font-size: 16px;"><span><span style="font-family: Helvetica Neue, Helvetica, Arial, sans-serif;"> - put the regexp in a condition</span></span></div><div dir="ltr" data-setdir="false" style="font-family: courier new, courier, monaco, monospace, sans-serif; font-size: 16px;"><span><span style="font-family: Helvetica Neue, Helvetica, Arial, sans-serif;"> - use the optional "m"</span></span></div><div dir="ltr" data-setdir="false" style="font-family: courier new, courier, monaco, monospace, sans-serif; font-size: 16px;"><span><span style="font-family: Helvetica Neue, Helvetica, Arial, sans-serif;"> - use m{} if the regexp has a "/" in it.</span></span></div><div dir="ltr" data-setdir="false" style="font-family: courier new, courier, monaco, monospace, sans-serif; font-size: 16px;"><span><span style="font-family: Helvetica Neue, Helvetica, Arial, sans-serif;"> - use \A for ^</span></span></div><div dir="ltr" data-setdir="false" style="font-family: courier new, courier, monaco, monospace, sans-serif; font-size: 16px;"><span><span style="font-family: Helvetica Neue, Helvetica, Arial, sans-serif;"> - use \Z for $</span></span></div><div dir="ltr" data-setdir="false" style="font-family: courier new, courier, monaco, monospace, sans-serif; font-size: 16px;"><span style="font-family: Helvetica Neue, Helvetica, Arial, sans-serif;"> - use </span><span style="font-family: Helvetica Neue, Helvetica, Arial, sans-serif;">(?:) when group not needed in $N</span><br></div><div dir="ltr" data-setdir="false" style="font-family: courier new, courier, monaco, monospace, sans-serif; font-size: 16px;"><span><span style="font-family: Helvetica Neue, Helvetica, Arial, sans-serif;"> - and assign $N to well named scoped variables before anything else.</span></span></div><div dir="ltr" data-setdir="false" style="font-family: courier new, courier, monaco, monospace, sans-serif; font-size: 16px;"><span><span style="font-family: Helvetica Neue, Helvetica, Arial, sans-serif;"><br></span></span></div><div dir="ltr" data-setdir="false" style="font-family: courier new, courier, monaco, monospace, sans-serif; font-size: 16px;"><span><span style="font-family: Helvetica Neue, Helvetica, Arial, sans-serif;">if ($string =~ m/\A(.)(?:.)(.)\Z/) {</span></span></div><div dir="ltr" data-setdir="false" style="font-family: courier new, courier, monaco, monospace, sans-serif; font-size: 16px;"> <div><div dir="ltr" data-setdir="false" style="color: rgb(0, 0, 0); font-family: courier new, courier, monaco, monospace, sans-serif; font-size: 16px;"><span style="font-family: Helvetica Neue, Helvetica, Arial, sans-serif;"> my $char1 = $1;</span></div><div><span style="font-family: Helvetica Neue, Helvetica, Arial, sans-serif;"> my $char3 = $2;</span><br></div></div><div dir="ltr" data-setdir="false"><span style="font-family: Helvetica Neue, Helvetica, Arial, sans-serif;"> dosomething($char1, $char3);</span></div><div><div><span style="font-family: Helvetica Neue, Helvetica, Arial, sans-serif;">} else {</span><br></div></div></div><div dir="ltr" data-setdir="false" style=""><font face="Helvetica Neue, Helvetica, Arial, sans-serif"> die("handle string not what expected");</font></div><div dir="ltr" data-setdir="false" style="font-family: courier new, courier, monaco, monospace, sans-serif; font-size: 16px;"><span><span style="font-family: Helvetica Neue, Helvetica, Arial, sans-serif;">}</span></span></div><div style="font-family: courier new, courier, monaco, monospace, sans-serif; font-size: 16px;"><br></div><div class="ydpce8e30b1signature" style="font-family: courier new, courier, monaco, monospace, sans-serif; font-size: 16px;"><div style="font-family:courier, monaco, monospace, sans-serif;font-size:16px;">Michael R. Davis</div></div></div>
<div style="font-family: courier new, courier, monaco, monospace, sans-serif; font-size: 16px;"><br></div><div style="font-family: courier new, courier, monaco, monospace, sans-serif; font-size: 16px;"><br></div></div></body></html>