rsiedl has asked for the wisdom of the Perl Monks concerning the following question:
Hi monks,
Just have a simple question...
Can anyone tell me if there is a way of using a variable from a "non strict" routine outside of that routine without turning off strict?
Maybe the code below explains better than I do...
Cheers,
Reagen
Update: Just changed what $$_ is equal to...
Update: Ok, looks like people arent happy with my methods in this post, which I did rather expect. The reason that I'm trying to do this is that I'm trying to plug a hash into an old piece of code (for a once off) and I was hoping not to have to change every instance of i.e $blah to $hash{'blah'}. Just being lazy...
Just have a simple question...
Can anyone tell me if there is a way of using a variable from a "non strict" routine outside of that routine without turning off strict?
Maybe the code below explains better than I do...
returns an error#!/usr/bin/perl use strict; use warnings; my %data = ( "blah"=>1, "boo"=>2, "hoo"=>3 ); # assign each key to a variable of the same name foreach (keys %data) { no strict; my $$_ = $data{$_}; } # end-foreach print $blah; exit;
Global symbol "$blah" requires explicit package name at tmp.pl line 15. Execution of tmp.pl aborted due to compilation errors.Any help?
Cheers,
Reagen
Update: Just changed what $$_ is equal to...
Update: Ok, looks like people arent happy with my methods in this post, which I did rather expect. The reason that I'm trying to do this is that I'm trying to plug a hash into an old piece of code (for a once off) and I was hoping not to have to change every instance of i.e $blah to $hash{'blah'}. Just being lazy...
Back to
Seekers of Perl Wisdom