【发布时间】:2014-05-29 22:58:18
【问题描述】:
我想检查一个 perl 数组是否提供了某个值。
How can I check if a Perl array contains a particular value? 告诉我可以使用grep( /^$value$/, @array ) 来检查$value 是否已包含在@array 中。
只要$value 没有特殊字符,它就可以工作。不幸的是,我的数组元素是 Visual Studio 项目的路径,看起来像 $(MY_USER_MACRO)/includes/myfile.h 对于这些元素,grep( /^$value$/, @array ) 总是返回 false,尽管 @array 中已经存在许多这样的条目。
我认为问题的发生是因为$value 中包含$ 字符,因此以某种方式中断了grep 的执行。
有没有办法告诉grep 从字面上理解给定的字符串?如果不是:那我该如何解决我的问题?
【问题讨论】:
-
perldoc -f quotemeta -
@devnull:
perldoc -f grep