我有一个散列哈希包含键,值和形式的计数((k1,v1),c1).我正在尝试编写一个子例程,该子例程返回作为具有最大计数的参数传递的键的值.例如,如果我有:
%hash = (
"a" => {
"b" => 2,
"c" => 1,
},
"d" => {
"e" => 4,
},
);
Run Code Online (Sandbox Code Playgroud)
打了个电话:
print &function("a");
Run Code Online (Sandbox Code Playgroud)
它应该打印"b",因为键"a"的最大计数为2,其中"b"为其值.这是我到目前为止的代码:
sub function() {
$key = $_[0];
if(exists($hash{$key})) {
while (my ($value, $count) = each %{$hash{$key}}) {
#logic goes here
}
} else {
return "$key does not exist";
}
}
Run Code Online (Sandbox Code Playgroud) 我试图在Perl中编写一个正则表达式来过滤掉字符串中的单词"a",但不是每次出现字母"a".例如,如果我有字符串"我看到一只肥猫",
my $string = "I saw a fat cat";
Run Code Online (Sandbox Code Playgroud)
我希望过滤后的字符串是"我看到肥猫",但我得到"我sw ft ct".我尝试过这个表达式的变体:
$string=~ s/a//g;
Run Code Online (Sandbox Code Playgroud)