如何在perl中接受输出参数数组和标量?

如何在perl中接受输出参数数组和标量?,第1张

概述我有一个函数,我想检查路径是否存在,如果存在,将其添加到数组.这是我试过的: # If a path exists, adds the canonical version of that path to an arraysub AddPathCandidate { my (@$target, $path) = $_; die ('path needed') unless defi 我有一个函数,我想检查路径是否存在,如果存在,将其添加到数组.这是我试过的:

# If a path exists,adds the canonical version of that path to an arraysub AddpathCandIDate {    my (@$target,$path) = $_;    dIE ('path needed') unless defined($path);    $path = file::Spec->canonpath($path);    if (-e $path) {        push(@{$target},$path);    }}

调用者看起来像:

my @exampleDirs = ();AddpathCandIDate(\@exampleDirs,$inDir . 'a');AddpathCandIDate(\@exampleDirs,$inDir . "../b/a/$arch");AddpathCandIDate(\@exampleDirs,$inDir . "../../b/a/$arch");

但是“死亡”声明总是会执行; AddpathCandIDate的第二个参数没有通过某种方式.

我想在这里做什么甚至可能,还是有更多的“perl-ish方式”来实现这一目标?

解决方法 在解压缩参数时将变量声明为$target,并从@_解压缩:

my ($target,$path) = @_;    ^                 ^^
总结

以上是内存溢出为你收集整理的如何在perl中接受输出参数数组和标量?全部内容,希望文章能够帮你解决如何在perl中接受输出参数数组和标量?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1245114.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-07
下一篇2022-06-07

发表评论

登录后才能评论

评论列表(0条)

    保存