[英]Case insensitive GREP in Perl
我有一個Perl腳本,它使用嚴格
use strict
我想通過不區分大小寫的比較與我有的var從數組中復制元素
my ($sPermIdIndex) = grep $aHeaderLine[$_] eq $sPermIdField/i, 0 .. $#aHeaderLine;
這行給我錯誤
Bareword "i" not allowed while "strict subs" in use
如何使其運作?
謝謝
您可以使用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
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.