Using ref function to check the parameter type
@a = (1, 2, 3);
@b = (4, 5, 6);
sub addem
{
my ($ref1, $ref2) = @_;
if (ref($ref1) eq "ARRAY" && ref($ref2) eq "ARRAY") {
while (@$ref1) {
unshift @result, pop(@$ref1) + pop(@$ref2);
}
return @result;
} elsif (ref($ref1) eq "SCALAR" && ref($ref2) eq "SCALAR") {
return $$ref1 + $$ref2;
}
}
@array = addem (\@a, \@b);
print join (', ', @array);
Related examples in the same category