Perl新手:尝试在字符串数组中查找字符串

时间:2012-09-25 18:03:13

标签: regex perl

我需要将字符串与字符串数组匹配。我要搜索的字符串应该能够包含通配符。

#!/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

3 个答案:

答案 0 :(得分:3)

您的输入最后有换行符。添加:

chomp $line;

之后

my $line = $_;

答案 1 :(得分:2)

使用chomp(my $input = $_)删除换行内的换行符而不是my $input = $_

** OOPs ..没看到我发帖重复..

答案 2 :(得分:1)

使用&lt;&gt;始终存在最后的换行符。见chomp