in reply to Re^3: Extract a pattern from a string
in thread Extract a pattern from a string

Hi
I have made those two codes based on what you wrote.
in the case of multiple identical port numbers in the string.
i need to know which would be faster/wiser to use ?
$s=ME170-5/2/8-ME172-5/2/8-ME4028ME172-5/2/8-ME196-5/2/8-ME4002; while ($s=~m/(\d{1,2}\/\d{1,2}\/\d{1,2})/g) {++$r;print "$r Found $1:" + .(pos($s)-length($1)+1) .$nl;}<br>
_OUTPUT_
1 Found 5/2/8:7
2 Found 5/2/8:19
3 Found 5/2/8:37
4 Found 5/2/8:49
$s=ME170-5/2/8-ME172-5/2/8-ME4028ME172-5/2/8-ME196-5/2/8-ME4002; while ($s=~m/(\d{1,2}\/\d{1,2}\/\d{1,2})/g) {++$e;print "$e Found $1:" + .($-[1]+1) .$nl;}<br>
_OUTPUT_
1 Found 5/2/8:7
2 Found 5/2/8:19
3 Found 5/2/8:37
4 Found 5/2/8:49
Thank you
Avi

Replies are listed 'Best First'.
Re^5: Extract a pattern from a string
by NetWallah (Canon) on Jun 11, 2012 at 13:54 UTC
    Brilliant ! - $-[1] is already calculated in the regex (as @-), so yes, it is more efficient than pos+length.

                 I hope life isn't a big joke, because I don't get it.
                       -SNL

      Done THANK YOU :-)