在沒有輸出重定向的情況下運行下面的文件時,輸出如預期。當使用LWP :: Simple和輸出重定向時特有的Perl行爲
輸出
./get_urls.pl
www.site1.com
www.site2.com
www.siten.com
當重定向標準輸出到一個文件,沒有被記錄在文件中。
./get_urls.pl > out
cat out
-
#!/usr/bin/perl
use LWP::Simple;
use strict;
use warnings;
my $i = 1;
while (my $contents = get("http://www.validpage.com?page=$i"))
{
#print STDERR $contents."\n".$url."\n";
#print STDERR $i."\n";
my @matches = ($contents =~ /_full'>(.*)?</g);
for my $match (@matches)
{
$match =~ s/\s//g;
print $match."\n";
}
$i++;
}
print STDERR "$i total matches.\n";
我懷疑這種行爲是使用LWP ::簡單,因爲輸出重定向省略了get()函數調用時預期的副作用。
謝謝。你能詳細解釋一下嗎? – SemperFly 2012-08-01 20:52:38
@SemperFly更新了我的答案 – s0me0ne 2012-08-01 21:05:32