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


in reply to Re^5: Can we make $& better? (need)
in thread Can we make $& better?

BTW, my test was to change the string used in the match and then see if $1 also changed. That isn't a perfect test because it might be that the string is copied but $1 doesn't correctly use the copy made, for example. Here is a more polished version and two sets of results:

#!/usr/bin/perl -w use strict; print "$] $^O\n"; for( qw( s l sg lg ) ) { my $x= "-y1-y2-"; my @y; $y[0]= $x =~ /(.\d)/ if 's' eq $_; @y= $x =~ /(.\d)/ if 'l' eq $_; $y[0]= $x =~ /(.\d)/g if 'sg' eq $_; @y= $x =~ /(.\d)/g if 'lg' eq $_; $x= ":1n:2n:"; print "$_ ($1)\n"; } __END__ 5.006 MSWin32 s (y1) l (1n) sg (1n) lg (2n) 5.008008 MSWin32 s (y1) l (y1) sg (1n) lg (2n)

Which shows I'd missed the only "will copy" case in 5.6.

- tye