1

我正在尝试通过 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.txt,output_perl_1.txt中 的值output_perl_2.txt会得到反映。这意味着如果我在下面添加它可以正常工作:

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

但我正在运行一个我想在其中传递值的 URL $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 工作正常,但值未通过。当 URL 被执行时,我们仍然可以看到$text1 $text2 $text3,但我应该看到上面命令打印的值。

4

1 回答 1

5

使用双引号将变量插入字符串。当您使用单引号时,生成的字符串实际上就是您键入的内容。这适用于变量以及元字符,例如\n,\t等。

在这里阅读更多。

于 2012-11-21T16:13:26.257 回答