文字列内のコンマまたはハイフンのすべてのインスタンスを置き換えようとしています$charlie
。最初に試したコードは次のとおりです。
#!/usr/bin/perl
use strict;
use warnings;
my $charlie = "Charlie, 59, 2009";
print "Old Charlie: $charlie\n";
$charlie =~ s/[\,-]/ /;
print "New Charlie: $charlie\n";
これにより、次の出力が生成されます。
C:\scripts\perl\sandbox>charlie_substitute.pl
Old Charlie: Charlie, 59, 2009
New Charlie: Charlie 59, 2009
ご覧のとおり、最初のコンマだけがスペースに置き換えられました。複数のコンマを説明するために、正規表現をに変更しました$charlie =~ s/[\,-]{1,2}/ /;
が、それでも同じ出力が得られます。
置換で検索する出現回数を正しく指定するにはどうすればよいですか?