小编CS *_*ent的帖子

在Perl中查找哈希散列中最大值的关键字

我有一个散列哈希包含键,值和形式的计数((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 hash

1
推荐指数
1
解决办法
468
查看次数

使用Perl过滤掉单词"a"但不是每个字母"a"

我试图在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)

regex string perl

1
推荐指数
1
解决办法
53
查看次数

标签 统计

perl ×2

hash ×1

regex ×1

string ×1