Package-Based Object Patterns
Package Calls
Pass a current value into a package routine and receive an updated value.
Package Calls
package_calls.pl
use strict;
use warnings;
package Counter;
sub add {
my ($value, $step) = @_;
return $value + $step;
}
package main;
my $step = ;
my $start = 10;
my $next = Counter::add($start, $step);
print "start=$start\n";
print "step=$step\n";
print "next=$next\n";
use strict;
use warnings;
package Counter;
sub add {
my ($value, $step) = @_;
return $value + $step;
}
package main;
my $step = ;
my $start = 10;
my $next = Counter::add($start, $step);
print "start=$start\n";
print "step=$step\n";
print "next=$next\n";
use strict;
use warnings;
package Counter;
sub add {
my ($value, $step) = @_;
return $value + $step;
}
package main;
my $step = ;
my $start = 10;
my $next = Counter::add($start, $step);
print "start=$start\n";
print "step=$step\n";
print "next=$next\n";
package-calls
A package routine can receive state, perform work, and return the result.