perl - 这样使用 'can'函数是什么意思?

标签 perl

我知道“can”方法检查包是否具有“some_method”方法。但是,“->(animal => $x)”部分发生了什么?

$z = __PACKAGE__->can("some_method")->(animal => $x)

最佳答案

can() 将返回对方法的引用(如果存在),然后方法将使用“解除引用箭头”解除引用。您必须将其包装到 eval 中,否则如果“some_method”不存在,则会出现异常。在这里阅读更多:

关于can():perldoc UNIVERSAL

关于子程序的解引用:perldoc perlref

关于perl - 这样使用 'can'函数是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62170697/

相关文章:

regex - 在可选 token 之间寻找匹配?

python - Python 中用于 Perl 的 Linux 命令

regex - sed 用下划线替换 2 个字符串之间的空格

perl - 有没有办法在Perl中强制无效上下文?

linux - 每 2 小时自动退出 perl 脚本

Perl 自动化散列填充和 key 名称

perl - 取消引用哈希引用中的标量引用

multithreading - perl 行尾写 "if"时,它的作用域是什么

linux - 正则表达式检查括号是否嵌套

mysql - 试图找出为什么 sub 会导致 mysql 数据库中有 27 个条目