如何通过perl脚本执行此URL时使用URL中的变量传递值

时间:2012-11-21 16:00:52

标签: perl

我正在尝试通过perl脚本执行URL。最初,我在文本文件中保留一些值,并将文件中的值设置为参数。

#!/usr/bin/perl
use warnings;

open my $fh, '<','output_perl.txt' or die "Failed: $!\n";
my $text1 = do {
    local $/;
    <$fh>
};
close $fh or die "Failed again: $!\n";


open my $i, '<','output_perl_1.txt' or die "Failed: $!\n";
my $text2 = do {
    local $/;
    <$i>
};
close $i or die "Failed again: $!\n";


open my $j, '<','output_perl_2.txt' or die "Failed: $!\n";
my $text3 = do {
    local $/;
    <$j>
};
close $j or die "Failed again: $!\n";

因此,当我尝试打印变量$text1$text2$text1时,output_perl.txtoutput_perl_1.txtoutput_perl_2.txt中存储的值为得到反映。这意味着如果我在下面添加它可以正常工作:

print $text1;
print $text2;
print $text3;

但是我正在运行一个我希望传递$text1/2/3的值

的网址
use LWP 5.64;
my $browser = LWP::UserAgent->new;
my $url = 'http://sms.apps.example.com/http/sendPlainText?$text1 $text2 $text3'

网址工作正常,但价值没有通过。当URL被执行时,我们仍然可以看到$text1 $text2 $text3,但我可以通过上面的命令看到它打印的值。

1 个答案:

答案 0 :(得分:5)

使用双引号将变量插入字符串。当您使用单引号时,结果字符串就是您输入的字符串。这适用于变量以及元字符,例如\n\t等。

了解更多here