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.txtoutput_perl_1.txt反映 output_perl_2.txtされます。つまり、以下に追加すると正常に動作します。

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

しかし、次の値を渡したい URL を 1 つ実行しています$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 に答える