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

Regex 如何将通过Perl正则表达式提取的每一行放入数组中?,regex,arrays,perl,multiline,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

提取后,我想将屏幕上提取和打印的每个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";
}
}

你什么意思?你的IP已经在一个数组中,
@m
,但是如果你想把它们放在其他东西中,一次一个,你可以使用
push@somethingelse,$\

此外,你应该始终严格使用;将以下行添加到代码顶部:

use strict;
use warnings;

(与问题无关,但仍然值得一提)我相信你想要:my@m=。。。。这可以帮你以后省去一些头痛。