Perl中的<<'m'=〜m >>语法是什么意思?

爱丽丝·亨普

因此,我知道perl的语法很不正常,但是前一天在工作中遇到了一个代码片段,这让我感到困惑。有人可以向我解释这是什么意思:

<<'m'=~m>>
print $a unless $b;
return;
m
;

它看起来像HEREDOC语法,但没有任何我见过的形式。

海登

这种秘密语法称为华丽的双刃剑,通常表示为:

<<m=~m>>

Comments here

m
;

这是一种用于多行注释的技巧,它使用Heredoc语法并将match运算符(=~)与>用作分隔符。

请注意,由于斜杠/不能用作匹配的定界符,因此需要'm'运算符。例如$my_var =~ /test/等于$my_var =~ m>test>,而$my_var =~ >test>将无效。

请注意,m代码段中的第一个字符用单引号引起来,这意味着$a$b变量不会被插入。如果省略了这些引号(按照我提供的代码示例),则perl会自动在结束标记处添加双引号,并对所有后续变量进行插值。如果$a并且$b不再定义并且您正在使用,则会导致问题use warnings;

为了使上面的华丽双刀片示例更易于理解(但仍然不建议这样做),我们可以编写:

<<"END" =~ //

Comments here

END
;

请注意,这=~ //是多余的,因此等效于:

<<"END";

Comments here

END

这只是无效上下文中的标准Heredoc语法。

我不建议在生产代码中使用此方法,因为在无效上下文中包含字符串可能会引起问题。加上此代码,即使是最有经验的perl程序员,也是头疼的问题,毫无意义地难以阅读和维护!如果要创建适当的多行注释,那么我建议按照此处的说明使用pod,如何在Perl中输入多行注释?

希望这可以解决。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

mpstat中的“ m”是什么意思?

来自分类Dev

XAML中的“ m2”是什么意思?

来自分类Dev

git diff中的^ M是什么意思

来自分类Dev

Kotlin版本中的`M`是什么意思?

来自分类Dev

-masm中的前m是什么意思?

来自分类Dev

在此iptables规则中,“-m tcp”是什么意思?

来自分类Dev

XAML中的“ m2”是什么意思?

来自分类Dev

在Emacs中,键“ M”是什么意思?

来自分类Dev

命令行中的“-c”或“-m”是什么意思?

来自分类Dev

m-tab是什么意思?

来自分类Dev

CMake教程中的“ set(CMAKE_REQUIRED_LIBRARIES“ m”)”是什么意思?

来自分类Dev

在android类的属性名称中,字符'm'是什么意思?

来自分类Dev

map<string, int> m= {}; 是什么意思?在 C++ 中?

来自分类Dev

这个Perl语法是什么意思?

来自分类Dev

%m格式说明符是什么意思?

来自分类Dev

此上下文是什么意思:(Monad m,(〜)* a())?

来自分类Dev

%m格式说明符是什么意思?

来自分类Dev

“ -m状态-状态相关,已建立”是什么意思?

来自分类Dev

-m yarn-cluster 到底是什么意思?

来自分类Dev

::在Ruby语法中是什么意思?

来自分类Dev

if语法中的','是什么意思?

来自分类Dev

Lombok中的语法@@()是什么意思?

来自分类Dev

if语法中的','是什么意思?

来自分类Dev

在语法内(在Perl 6中)是什么意思?

来自分类Dev

Linux的“ / proc / meminfo”文件中的HardwareCorrupted,DirectMap4k,DirectMap2M字段是什么意思?

来自分类Dev

foldMap :: (Monoid m) => (a -> m) -> fa -> m 类型是什么意思以及如何实现它?

来自分类Dev

Python中x = [m] * n的语法是什么?

来自分类Dev

Python中x = [m] * n的语法是什么?

来自分类常见问题

模板中的#foo =“ myFoo”语法是什么意思?

Related 相关文章

  1. 1

    mpstat中的“ m”是什么意思?

  2. 2

    XAML中的“ m2”是什么意思?

  3. 3

    git diff中的^ M是什么意思

  4. 4

    Kotlin版本中的`M`是什么意思?

  5. 5

    -masm中的前m是什么意思?

  6. 6

    在此iptables规则中,“-m tcp”是什么意思?

  7. 7

    XAML中的“ m2”是什么意思?

  8. 8

    在Emacs中,键“ M”是什么意思?

  9. 9

    命令行中的“-c”或“-m”是什么意思?

  10. 10

    m-tab是什么意思?

  11. 11

    CMake教程中的“ set(CMAKE_REQUIRED_LIBRARIES“ m”)”是什么意思?

  12. 12

    在android类的属性名称中,字符'm'是什么意思?

  13. 13

    map<string, int> m= {}; 是什么意思?在 C++ 中?

  14. 14

    这个Perl语法是什么意思?

  15. 15

    %m格式说明符是什么意思?

  16. 16

    此上下文是什么意思:(Monad m,(〜)* a())?

  17. 17

    %m格式说明符是什么意思?

  18. 18

    “ -m状态-状态相关,已建立”是什么意思?

  19. 19

    -m yarn-cluster 到底是什么意思?

  20. 20

    ::在Ruby语法中是什么意思?

  21. 21

    if语法中的','是什么意思?

  22. 22

    Lombok中的语法@@()是什么意思?

  23. 23

    if语法中的','是什么意思?

  24. 24

    在语法内(在Perl 6中)是什么意思?

  25. 25

    Linux的“ / proc / meminfo”文件中的HardwareCorrupted,DirectMap4k,DirectMap2M字段是什么意思?

  26. 26

    foldMap :: (Monoid m) => (a -> m) -> fa -> m 类型是什么意思以及如何实现它?

  27. 27

    Python中x = [m] * n的语法是什么?

  28. 28

    Python中x = [m] * n的语法是什么?

  29. 29

    模板中的#foo =“ myFoo”语法是什么意思?

热门标签

归档