perl中的远程Web表单帖子

时间:2011-08-20 18:28:28

标签: perl code-snippets remote-access

我是perl的新手,我试图创建一个perl脚本来远程登录Web表单并返回成功或失败。但它没有工作或我错过了什么,加上它给我一个错误信息:这是我写的:

#!/usr/bin/perl

use LWP::UserAgent; 
use HTTP::Response;
use HTTP::Request::Common qw(POST);


$ua = LWP::UserAgent->new; 
$ua->agent("Mozilla 8.0...");

$username = "username";
$password = "password";

my $req = (POST 'http://www.domain.com/login.php', 

["Username" => "$username", 
"Password" => "$password"]);

$request = $ua->request($req); 
$content = $request->content; 

if ($res->is_success) {
     print ("success");
     exit;
}

else {
print ("failure");
}

这个脚本根本没有运行,我得到的错误是:

Can't call method "is_success" on an undefined value at c:\remotelogin.pl line 24.

2 个答案:

答案 0 :(得分:3)

不能强调它的重要性

use strict;
use warnings;

特别是在学习perl时。在这种情况下,您有一个未声明的变量$res。由于打字错误或许?如果您使用了严格和警告,则会出现编译错误:

Global symbol "$res" requires explicit package name..

严格和警告可能会带来许多令人生畏的错误,但是一旦你学会了如何避免它们,你会发现它们可以节省你的时间和精力,而不是相反。

答案 1 :(得分:2)

$res应替换为$request

use strict; use warnings;