什么是m!在这种情况下,perl语法意味着
在尝试调试git svn和--ignore path选项的问题时,我遇到了这个perl表达式,我不理解,在perl文档中也找不到类似的东西什么是m!在这种情况下,perl语法意味着,perl,Perl,在尝试调试git svn和--ignore path选项的问题时,我遇到了这个perl表达式,我不理解,在perl文档中也找不到类似的东西 $path =~ m!$self->{ignore_regex}! 我的理解是,这是将$path字符串与ignore_regex匹配,但它似乎与我期望的方式不匹配。我不明白的部分是m围绕$self->{ignore_regex} 我应该如何阅读此语法?这是最重要的 m通常写为/…/,但它们完全相同 如果“/”是分隔符,则首字母m是可选的。使用m可以
$path =~ m!$self->{ignore_regex}!
我的理解是,这是将$path字符串与ignore_regex匹配,但它似乎与我期望的方式不匹配。我不明白的部分是m代码>围绕$self->{ignore_regex}
我应该如何阅读此语法?这是最重要的
m
通常写为/…/
,但它们完全相同
如果“/”
是分隔符,则首字母m
是可选的。使用m
可以使用任意一对非空白(ASCII)字符作为分隔符。这对于匹配包含“/”
的路径名特别有用,以避免LTS(倾斜牙签综合症)。[……]
例如,以下内容是相同的:
$path=~/$self->{ignore\u regex}/
$path=~m/$self->{ignore_regex}/
$path=~m^$self->{ignore_regex}^
$path=~m{$self->{ignore_regex}
有问题的代码检查$path
中的字符串是否与$self->{ignore\u regex}
中的正则表达式模式相匹配,这是问题所在
m
通常写为/…/
,但它们完全相同
如果“/”
是分隔符,则首字母m
是可选的。使用m
可以使用任意一对非空白(ASCII)字符作为分隔符。这对于匹配包含“/”
的路径名特别有用,以避免LTS(倾斜牙签综合症)。[……]
例如,以下内容是相同的:
$path=~/$self->{ignore\u regex}/
$path=~m/$self->{ignore_regex}/
$path=~m^$self->{ignore_regex}^
$path=~m{$self->{ignore_regex}
有问题的代码检查$path
中的字符串是否与$self->{ignore\u regex}
m!中的正则表达式模式匹配
与/…/
相同,代码>仅限制正则表达式。请参阅相关文档。您甚至不需要m此表达式的代码>。m
与/…/
相同,代码>仅限制正则表达式。请参阅相关文档。您甚至不需要m此表达式的代码>。