将值从两个不同的子例程传递给一个新的子例程:Perl

时间:2015-04-14 05:58:41

标签: perl

我遇到了将值从两个不同的子例程传递到另一个子例程的问题。我看过一些帖子,人们建议删除use strict; use warnings,但我知道这不是一个好习惯,如果我这样做,我还需要面对很多问题。我想做的是

sub mol_wt{

         ...

         ...
    &ext_coeff($molWt);

}

sub absorbance{

      .....

      .....

      &ext_coeff($absorbance);

}

sub ext_coeff{

      my($wt, $abs) = @_;

}

上一个子程序只接收一个值。如何将前两个子例程中的值传递给最后一个?

1 个答案:

答案 0 :(得分:0)

使用匿名哈希:

sub mol_wt{
    ...
    ext_coeff({molWt => $molWt});
}

sub absorbance{
    ...
    ext_coeff({absorbance => $absorbance});
}

sub ext_coeff{
    my $params = shift;
    ...
    my $wt  = $params->{molWt};
    my $abs = $params->{absorbance};
    ...
}