【发布时间】:2014-04-02 19:07:19
【问题描述】:
我收到以下信息:
Dec 1 23:59:08 ftp1 ftpd[4682]: FTP LOGIN FROM 192.168.0.1 [192.168.0.1], prd
Dec 1 23:59:10 ftp1 ftpd[4690]: FTP LOGIN FROM 192.168.0.2 [192.168.0.2], prod1
我正在尝试获取“[]”之间的数字,但只有第一组,所以在第一行中我想要 4682,然后让它转到下一行以查找下一个。我有以下代码,但目前它每行都匹配两个集合,所以我得到 4682 和 192.168.0.1。在完成第一个匹配后,我将如何进入下一行
$/ = "\]";
while (my $line = <INPUT>) {
$line =~ /\[(.*)\]/s;
my $contents = $1;
print $contents, "\n";
}
谢谢
【问题讨论】:
标签: perl input pattern-matching match