in reply to Getting variables from mulitple subs at once?
You could use globals.
my $first; my $second; my $third; sub First { ... } sub Second { ... } sub Third { ... } { $first = First(); $second = Second(); $third = Third(); }
You could use dynamically bound variables.
sub First { ... } sub Second { our $first; ... } sub Third { our $first; our $second; ... } { local our $first = First(); local our $second = Second(); local our $third = Third(); }
A variation on the last one:
our $first; our $second; our $third; sub First { ... } sub Second { ... } sub Third { ... } { local $first = First(); local $second = Second(); local $third = Third(); }
You could use an object:
sub First { ... } sub Second { ... } sub Third { ... } { my $o = ...; $o->First(); $o->Second(); $o->Third(); }
You could use a hash:
sub First { ... } sub Second { ... } sub Third { ... } { my %h; First(\%h); Second(\%h); Third(\%h); }
In your particular case, I'd probably go with "A variation on the last one". It uses global variables, but they get cleared at the end of the curlies in which the local statements are located.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Getting variables from mulitple subs at once?
by mdunnbass (Monk) on Feb 20, 2007 at 14:24 UTC |