我想搜索一个句子并将其替换为匹配字符串的哈希值,如下所示:
my $sentence = "abc def hello hi";
$sentence =~ s/abc def/$hash{'abc def'}/g;
我没有得到正确的输出。 任何人都可以帮助我吗?
答案 0 :(得分:3)
这对我有用:
#!/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;
有助于发现诸如拼写错误的变量名之类的问题。)