LWP ::简单和cron

时间:2013-08-06 10:08:26

标签: perl cron crontab

此脚本每次从命令行运行,但很少从cron作业运行。我可以这样运行:./chort.pl

但是从cron调用它时,它会非常频繁地(并非总是)以“错误值”消息消失:

*/2 10-18 * * 1-5 /path/to/chort.pl >> /tmp/chort.pl 2>&1

当它死亡时,$res为空。 print "*$res*\n";打印**。因此,似乎从cron调用时获取网页存在问题。 这是一个片段:

sub getLSEVal
{
        my $fourWayKey  =       shift;
        my $url         =       "http://pat.to.url";
        my $res;
        timeout 280 => sub {
                $res    =       get $url ;

                return (-2, -2, -2 );
        };
        print $res;
        $res            =~      /Price\| High \| Low .*?<tr class="odd">.*?<td>(.*?)<\/td>.*?<td>(.*?)<\/td>.*?<td>(.*?)<\/td>/msig;
        my $c = $1;
        my $h = $2;
        my $l = $3;
        print "$1 $2 $3\n";
        die ("wrong values")  if $c !~ /\d+\.?\d*/ or $h !~ /\d+\.?\d*/ or $l !~ /\d+\.?\d*/;
        return ($c, $h, $l);
}

1 个答案:

答案 0 :(得分:0)

您可能需要使用LWP::UserAgent,这可以让您获得更高级别的控制权。 LWP ::简单有时太抽象了,无法知道问题出现时发生了什么。