我编写了以下代码来读取文件、slurp、识别 IP 地址并使用哈希结构跟踪每个地址的出现次数。问题是我的密钥不是从正则表达式匹配的 IP 地址,而是密钥是 IP 地址出现的整行。我该如何解决?(我认为这个问题与啜饮是逐行进行的事实有关)
%ipcount;
@fileslurp = <FH>;
foreach(@fileslurp){
if($_ =~ m/(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/){
$ipcount{$_}++;
}
}
$numIP = scalar keys %ipcount;
print "Number of unique IP: $numIP \n";
foreach $ipaddress (sort { $ipcount{b} <=> $ipcount{a} } keys %ipcount){
print "$ipaddress: $ipcount{$ipaddress} \n";
}