文を検索して、次のような文字列に一致するハッシュの値に置き換えたいと思います。
my $sentence = "abc def hello hi";
$sentence =~ s/abc def/$hash{'abc def'}/g;
正しい出力が得られません。誰か助けてくれませんか?
これは私のために働きます:
#!/usr/bin/env perl
use strict;
use warnings;
my %hash = ( 'abc def' => 'pqr xyz' );
my $sentence = "abc def hello hi";
$sentence =~ s/abc def/$hash{'abc def'}/g;
print "$sentence\n";
実行すると、次のように出力されます。
pqr xyz hello hi
それがあなたが期待したものではない場合、あなたは何を期待していましたか?(質問のPerlコードの元のバージョンには多くのタイプミスがあったことに注意してください。それらは偶発的なものだと思いましたが、おそらくそれらが問題の鍵でした。使用して、変数名のスペルミスなどの問題を見つけるのuse strict;
に役立ちます。)use warnings;