我遇到了将值从两个不同的子例程传递到另一个子例程的问题。我看过一些帖子,人们建议删除use strict; use warnings
,但我知道这不是一个好习惯,如果我这样做,我还需要面对很多问题。我想做的是
sub mol_wt{
...
...
&ext_coeff($molWt);
}
sub absorbance{
.....
.....
&ext_coeff($absorbance);
}
sub ext_coeff{
my($wt, $abs) = @_;
}
上一个子程序只接收一个值。如何将前两个子例程中的值传递给最后一个?
答案 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};
...
}