我知道'can'方法检查软件包是否具有方法'some_method'。但是,“->(animal => $ x)”部分中发生了什么?
$z = __PACKAGE__->can("some_method")->(animal => $x)
can()将返回对方法的引用(如果存在),然后使用“解引用箭头”对方法进行解引用。您必须将其包装到eval中,否则,如果“ some_method”不存在,则会出现异常。在这里阅读更多:perldoc UNIVERSAL
perldoc UNIVERSAL