在字符串中使用未初始化的值$ site

时间:2017-06-03 21:33:23

标签: perl

尝试执行此代码,但它已经给我以下错误:
在C:\ Users \ USER \ Desktop \ script.pl第35行的字符串中使用未初始化的值$ site。

#!/usr/bin/perl

use LWP::UserAgent;
use File::Slurp;
use warnings;
use strict;
use HTTP::Request;

open (THETARGET, "<list.txt") || die "[-] Can't open the file";
my @TARGETS = <THETARGET>;
close THETARGET;
my $link=$#TARGETS + 1;

OUTER: foreach my $site(@TARGETS){
    chomp($site);
}

my $ua = LWP::UserAgent->new;
$ua->timeout(10);
my $url = my $site;
my $picture = "teest.png";
my %args;
my $field_name = "file[]";
my $buf ;
my $buf_ref = $args{'buf'} || \$buf ;


my $value = read_file( $picture , binmode => ':raw' , scalar_ref => 1 );

my $response = $ua->post( $url,
            Content_Type => 'form-data',
            Content => [ $field_name => ["$picture"] ]
            );
print "$site";

1 个答案:

答案 0 :(得分:-1)

我认为你期望的是$ site从for循环继承的值,但因为它在 for循环中被定义,所以它的范围仅限于那个循环。也许你想要的是所有下面的代码也在这个循环中。否则,$ site的值在创建后的两行中不再存在。你的行

my $url = my $site;

然后创建一个 new 变量$ site(这是undef),并且该undef值用于设置$ url,因此它也是undef。我怀疑你最初有

my $url = $site;

然后添加额外的&#34;我的&#34;解决之前的错误。

我希望这会对你有所帮助。