#!/usr/bin/perl -l sub generate { $base = $_[0]; $interval = $_[1]; } # create incrementor configurator sub incrementor { $base += $interval; } # create incrementor generate( 5, 2 ); # configure first incrementor print incrementor(); # output: 7 print incrementor(); # output: 9 @first_inc = ( $base, $interval ); # save first incrementor's state generate( 3, 1); # configure second incrementor print incrementor(); # output: 4 print incrementor(); # output: 5 @second_inc = ( $base, $interval ); # save second incrementor's state generate( @first_inc ); # reload first incrementor's state print incrementor(); # output: 11 print incrementor(); # output: 13 @first_inc = ( $base, $interval ); # save first incrementor's state generate( @second_inc ); # reload second incrementor's state print incrementor(); # output: 6 print incrementor(); # output: 7 =cut All Output: 7 9 4 5 11 13 6 7 =end