我需要将字符串与字符串数组匹配。我要搜索的字符串应该能够包含通配符。
#!/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
答案 0 :(得分:3)
您的输入最后有换行符。添加:
chomp $line;
之后
my $line = $_;
答案 1 :(得分:2)
使用chomp(my $input = $_)
删除换行内的换行符而不是my $input = $_
。
** OOPs ..没看到我发帖重复..
答案 2 :(得分:1)
使用&lt;&gt;始终存在最后的换行符。见chomp