Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

Re: strict or not strict?

by xdg (Monsignor)
on Aug 19, 2005 at 14:24 UTC ( [id://485150]=note: print w/replies, xml ) Need Help??


in reply to strict or not strict?

Here's a way of doing it -- but it uses package variable (i.e. globals) and, of course, you have to fully qualify them. (Or else declare them with "our").

#!/usr/bin/perl use strict; use warnings; my %data = ( "blah"=>1, "boo"=>2, "hoo"=>3 ); # assign each key to a package variable of the same name foreach (keys %data) { no strict 'refs'; ${"main::$_"} = $data{$_}; } # end-foreach # note, this causes a "used only once" warning as the symbolic referen +ce # above doesn't count. Irrelevant for this example. print $main::blah; exit;

It's still unclear what this gains you. Anytime you're resorting to symbolic references or package variables, it should be a warning sign that something isn't well thought out. There are relatively few areas where it makes sense (e.g. writing modules which manipulate the symbol table of the package that uses them.)

-xdg

Code written by xdg and posted on PerlMonks is public domain. It is provided as is with no warranties, express or implied, of any kind. Posted code may not have been tested. Use of posted code is at your own risk.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://485150]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others cooling their heels in the Monastery: (4)
As of 2024-04-20 10:26 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found