What I was doing was:
func.pl
sub adding ($$)
{ my $first=shift;
my $second=shift;
my $third=($first + $second);
print("$first + $second = $third\n");
}
sub adding ($$$)
{ my $first=shift;
my $second=shift;
my $third=shift;
print("$first + $second = $third\n");
}
1;
test.pl(v1):
#!/usr/bin/perl
use strict;
require "func.pl";
my $one = 1;
my $two = 2;
my $answer = ( $one + $two);
adding($one,$two);
rewriting to test.pl(v2):
#!/usr/bin/perl
use strict;
require "func.pl";
my $one = 1;
my $two = 2;
my $answer = ( $one + $two);
adding($one,$two,$answer);
But I didn't test it myself during the rewrite and removing the ($$) version. I just tried to recreate it and got the errors and unpredictable behavior. Thanks for the pointer, Next time I'll just rewrite with an optional 3rd option in the original function and solve my rewrites that way.
Seems I have a lot to refresh after 3 years of not coding. |