#!/usr/bin/perl -w use strict; my $source = "tftp"; my $destination = "run"; &first; sub first { my %argsHash = ( Source => $source, Destination => $destination, ); &second(\%argsHash); } sub second { my $args = shift; my $error = "problems!"; print "This works, but i need to pass the error value to the third subroutine, in addition to $args->{Source} and $args->{Destination}\n"; &third(); }
its here that i get confused. not only do i need to pass the existing value of $args to the third subroutine, but i also need to pass the value of $error as well. i've tried a little experimenting with &third(\$args); and although its passed, its passed as a scalar rather than a hash it seems. i see that i can add the value of $error within the second subroutine, such as:
$args->{Error} = $error;
but i'm stuck on how to pass this new hash to the next subroutine.
humbly -c
In reply to Re: Re: Re: Re: Understanding why strict prevents a use of local
by c
in thread Understanding why strict prevents a use of local
by c
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |