note
hippo
<p>If you cannot work out in your head what the substitution actually does (and it's not an easy thing if you are new to all this) then give it a try in some code. The lack of boilerplate in perl really helps when coding up trivial scripts for testing. eg:</p>
<code>
#!/usr/bin/env perl
use strict;
use warnings;
for my $word ('lama', 'aaron') {
print "Word is $word\n";
print "without /g the regex becomes: ";
my $r = $word;
$r =~ s/(.*?)[ab](.*?)/$1\[ab\]$2/;
print "$r\n";
print "with /g the regex becomes: ";
$r = $word;
$r =~ s/(.*?)[ab](.*?)/$1\[ab\]$2/g;
print "$r\n";
}
</code>
<p>Hopefully running this code will illustrate to you how the substitutions differ because of the <c>/g</c> modifier.</p>
1161587
1161950