0

私は何かが欠けていると確信しており、別の目が必要です. 私はすでに警告を有効にしており、strict を使用しています。たとえば、変数の二重引用符の間を抽出しようとしています。

my $line = '    TITLE "Better off Faded"';
(my $title = $line) =~ s/"(.*?)"/$1/g;

print "title: [$title]\n";
print "MATCHDATA: <$`|$&|$'>\n";
print "capture1: $1\n";

これにより、次の出力が生成されます。

title: [    TITLE Better off Faded]
MATCHDATA: <    TITLE |"Better off Faded"|>
capture1: [Better off Faded]

キャプチャが機能しているように見えますが、代替コマンドは、 $1キャプチャを入力するのではなく、 $title変数から二重引用符文字を削除するだけです。

キャプチャが機能しているので、使用できることは既にわかっています。

my $data = ($line =~ /"(.*?)"/)[0];
print "alt: [$date]\n";

二重引用符からデータを抽出するには、代わりに機能しないのはなぜですか?

4

1 に答える 1