此代码的/ ^ $ key /部分是什么意思?我之前在在线教程中看到过它,但我不知道在哪里,我无法在谷歌上找到它。
if (!grep(/^$key/, @{$ignore})) {
之前的代码
my $ignore = shift;
my ($added, $field, $found, $key, $record, @records, @results, $returned, %superceded, $value);
提前感谢您的帮助。
答案 0 :(得分:7)
/^$key/
是regular expression,又名“正则表达式”或“正则表达式”,是一种旨在匹配模式的迷你语言。
/.../
向Perl表明内容是正则表达式。 ^
说要查看变量$key
的内容,并$key
置于变量$key
的内容中。所以它询问grep(/^$key/, @{$ignore})
的内容是否在字符串的前面。
@$ignore
表示返回列表$key
中以!
开头的所有项目。前面的!grep(/^$key/, @{$ignore})
是否定的,因此当@$ignore
不包含以$key
开头的任何项目时grep
为真。
你会在Perl中遇到{{1}}和正则表达式。在这一点上你最好服务by reading a Perl book,而不是试图解开它。我建议Beginning Perl或Modern Perl(免费在线)或Learning Perl。
您还可以从Perl文档中了解正则表达式。虽然Perl文档可能有点密集,但我仍然建议用一本书补充它们。