我想在参数列表周围不使用括号来调用我的潜艇.例如,我想使用
mypush \@list, $item;
Run Code Online (Sandbox Code Playgroud)
代替
mypush(\@list, $item);
Run Code Online (Sandbox Code Playgroud)
为了实现这一点,我已经用原型声明了我的子.
sub mypush (+@) { push shift, @_ }
Run Code Online (Sandbox Code Playgroud)
事实上,这也允许我进行以下操作,但这只是一个奖励:
mypush @list, $item;
Run Code Online (Sandbox Code Playgroud)
除了在代码中的任何地方使用它们之前必须使用原型声明子例程之外,在Perl中使用原型是否有任何严重的缺点?
代码看起来对我来说绝对清晰.但一般情况下原型出错的地方?我什么时候后悔呢?