如何将通过Perl正则表达式提取的每一行放入数组中?

时间:2011-05-25 21:44:57

标签: regex arrays perl multiline

提取后,我想把我提取的每个IP地址放在一起。在屏幕上打印成阵列。我怎样才能做到这一点?这是我的代码:

#!/usr/bin/perl

use HTTP::Request;
use LWP::UserAgent;

my $url = 'http://www.game-monitor.com/';
my $request = HTTP::Request->new(GET => $url);
my $useragent = LWP::UserAgent->new();
my $response = $useragent->request($request);
my $result = $response->content;

@m = ($result =~ /\b(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\b/sg);
foreach (@m) {
    print "$_\n";
}
}

1 个答案:

答案 0 :(得分:9)

你是什​​么意思?您的IP已经在一个数组@m中,但是如果您想将它们放在其他内容中,则可以使用push @somethingelse, $_

另外,你应该总是使用严格;将这些行添加到代码顶部:

use strict;
use warnings;