私はperlにまったく慣れておらず、構文に問題があります。次のように「茶色」を返すにはどうすればよいですか?私が読んでいることから、これはうまくいくはずです。
my $text = "the quick brown dog";
print "$text\n";
my $newvar = $text =~ m/quick (.*) dog/;
print "$newvar\n";
my $newvar = $text =~ m/ quick (.*) dog /;
スカラーコンテキストでの割り当てであり、またはのいずれ1
かを割り当てますundef
。
この割り当てをリストコンテキストで行いたい
my ($newvar) = $text =~ m/ quick (.*) dog /;
これは、正規表現からキャプチャされたグループを割り当てます。
スカラーコンテキストとリストコンテキストの違いは、Perlで慣れるのに最も難しいことの1つです。
$1
Perlの正規表現からキャプチャされたグループも、特別な変数、、$2
...に割り当てられることに注意してください。だからあなたも言ったかもしれない
print "$1\n";