好吧,我有以下的散,我试图引用的元素相匹配:
$VAR1 = {
'743' => '00:1',
'20687' => '01:3',
};
有人能告诉我,我该如何检查,看看是否值00:1' (作为一个例子),另一个变量相匹配? 这是我目前拥有和不工作:
if($pids{$pid} == qr/$time/){
$pids{$pid}{$time}[$y] = $line;
$y++;
};
我也试过if(exists($pids{$pid}{$time}))
和其他几个人。
UPDATE
对下面的问题,是的pid哈希,%的PID。
这是哈希表怎么弄出来的时候我没有匹配到$时间,这正是我想要的运行它:
$VAR1 = {
'743' => '00:1',
'4771' => {
'23:5' => [
'Dec 1 23:59:23 ftp1 ftpd[4771]: USER test
',
'Dec 1 23:59:23 ftp1 ftpd[4771]: PASS password
',
'Dec 1 23:59:23 ftp1 ftpd[4771]: FTP LOGIN FROM 192.168.0.2 [192.168.0.2], test
',
'Dec 1 23:59:23 ftp1 ftpd[4771]: CWD /home/test/
',
'Dec 1 23:59:23 ftp1 ftpd[4771]: TYPE Image
',
'Dec 1 23:59:23 ftp1 ftpd[4771]: PASV
',
'Dec 1 23:59:23 ftp1 ftpd[4771]: RETR test
',
'Dec 1 23:59:23 ftp1 ftpd[4771]: QUIT
',
'Dec 1 23:59:23 ftp1 ftpd[4771]: FTP session closed
'
]
},
下面是一个会来通过数据的例子:
Dec 1 23:59:03 ftp1 ftpd[4771]: USER test
Dec 1 23:59:03 ftp1 ftpd[4771]: PASS password
Dec 1 23:59:03 ftp1 ftpd[4771]: FTP LOGIN FROM 192.168.0.02 [192.168.0.2], test
Dec 1 15:02:03 ftp1 ftpd[4771]: CWD /home/test # Looks same but different time so not a match
Dec 1 23:59:03 ftp1 ftpd[4771]: CWD /home/test
Dec 1 23:59:03 ftp1 ftpd[4771]: TYPE Image
所以你可以在上面看到,我可以有两行不同“的pid”,我只想匹配时代的一个,而不是两个。
如果您需要更多关于这方面的信息,我有一个问题我已打开所有的细节,但似乎是一潭死水: 用散列播放从Perl中的FTP流量