Удаленная запись веб-формы в Perl - PullRequest
0 голосов
/ 20 августа 2011

Я относительно новичок в Perl, я пытался создать скрипт Perl для удаленного входа в систему в веб-форме и вернуть либо успех, либо неудачу.но он не работает, или я что-то упускаю, плюс он дает мне сообщение об ошибке: Вот что я написал:

#!/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 ]

3 голосов
/ 20 августа 2011

Нельзя не подчеркнуть, насколько важно

use strict;
use warnings;

Особенно при изучении Perl.В этом случае у вас есть необъявленная переменная $res.Возможно, из-за опечатки?Если бы вы использовали строгие и предупреждения, вы бы получили ошибку компиляции:

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

Строгие и предупреждения могут привести к множеству пугающих ошибок, но как только вы научитесь их избегать, вы поймете, что они спасут васвремя и усилия, а не наоборот.

2 голосов
/ 20 августа 2011

$res следует заменить на $request.

А use strict; use warnings;

...