in reply to Re^2: How to Remove Commas ?
in thread How to Remove Commas ?
The first comma was removed from each number.
The s/// operator by default removes only the first match. So:
my $var = "foobarfoobaz"; $var =~ s/foo//; say $var; # says "barfoobaz"
There are various flags you can include to alter its default behaviour though. One of the most useful is the "g" (global) flag...
my $var = "foobarfoobaz"; $var =~ s/foo//g; say $var; # says "barbaz"
Note that the slashes may be replaced with other characters, so you could equally write:
my $var = "foobarfoobaz"; $var =~ s@foo@@g; say $var; # says "barbaz"
Or even:
my $var = "foobarfoobaz"; $var =~ s{foo}{}g; say $var; # says "barbaz"
... which some people might find more readable. Though note that there are a handful of characters (hash, question mark and single quote spring to mind) that trigger special behaviours here (perlop has more details).
perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'
|
---|
In Section
Seekers of Perl Wisdom