#!/usr/bin/perl use strict; my $tossMeAbout = 'Initial value'; { my $updatedValue = &adjustValue($tossMeAbout); print "-------------------------------------------------------------------------------\n"; print " MAIN: \$tossMeAbout = [$tossMeAbout]\n"; print " MAIN: \$updatedValue = [$updatedValue]\n"; my $additionalValue = &adjustValue($updatedValue); print "-------------------------------------------------------------------------------\n"; print " MAIN: \$tossMeAbout = [$tossMeAbout]\n"; print " MAIN: \$updatedValue = [$updatedValue]\n"; print " MAIN: \$additionalValue = [$additionalValue]\n"; print "-------------------------------------------------------------------------------\n"; } exit; { my $persistentValue; sub adjustValue { my ($requestedValue, @garbage) = @_; if (!defined $requestedValue) { $requestedValue = ''; } my $returnValue = ''; print "-------------------------------------------------------------------------------\n"; print "SUB BEGIN: \$requestedValue = [$requestedValue]\n"; print "SUB BEGIN: \$persistentValue = [$persistentValue]\n"; print "SUB BEGIN: \$returnValue = [$returnValue]\n"; # Append requested value to persistent value if (!defined $persistentValue) { $persistentValue = $requestedValue; } else { $persistentValue .= "/$requestedValue"; } $returnValue = "<$requestedValue>"; print "-------------------------------------------------------------------------------\n"; print " SUB END: \$requestedValue = [$requestedValue]\n"; print " SUB END: \$persistentValue = [$persistentValue]\n"; print " SUB END: \$returnValue = [$returnValue]\n"; return $returnValue; } } __END__