0

文字列を文字列の配列と照合する必要があります。検索している文字列には、ワイルドカードを含めることができるはずです。

#!/usr/bin/perl
#
##   disable buffered I/O which would lead
##   to deadloops for the Apache server
$| = 1; 
#
##   read URLs one per line from stdin
while (<>) {
    my $line = $_;
    my @array1 = ("abc","def","ghi");
    $found = 0;
    if (/$line/i ~~ @array1)
    {
        print "found\n";
    }
    else
    {
        print "not found\n";
    }

}

の入力でこのスクリプトをテストするabcと、返されますnot found

perl ./mapscript.pl
abc
not found
4

3 に答える 3

3

入力の最後に改行があります。追加:

chomp $line;

直後の

my $line = $_;
于 2012-09-25T18:06:53.543 に答える
2

while 内のchomp(my $input = $_)代わりに改行を削除するために使用します。my $input = $_

** OOPs.. 重複投稿していることに気付かなかった..

于 2012-09-25T18:11:08.977 に答える
1

末尾の改行は <> を使用して常に存在します。チョップを参照してください

于 2012-09-25T23:03:35.817 に答える