我有一个使用严格
的Perl脚本use strict
我想通过使用与我有
的var的大小写敏感内容来从数组中grep一个元素my ($sPermIdIndex) = grep $aHeaderLine[$_] eq $sPermIdField/i, 0 .. $#aHeaderLine;
这一行给我错误
Bareword "i" not allowed while "strict subs" in use
如何让它发挥作用?
由于
答案 0 :(得分:5)
如果你在比较之前foldcase,你可以比较两种不区分大小写的东西:
fc("Foo") eq fc("fOO")
答案 1 :(得分:3)
您可以使用fc
折叠两个字符串并进行比较
my ($sPermIdIndex) = grep {
# use v5.16; or prefix with CORE::
CORE::fc($aHeaderLine[$_]) eq CORE::fc($sPermIdField)
}
0 .. $#aHeaderLine;
它与使用正则表达式$aHeaderLine[$_] =~ /^\Q$sPermIdField\E\z/i
相同。