Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Re: Stupid question

by arturo (Vicar)
on Dec 07, 2000 at 02:44 UTC ( [id://45370]=note: print w/replies, xml ) Need Help??


in reply to Stupid question

How about making it all explicit, put $foo in its own package, and just be judicious in your use of the full name of $foo.

#!/usr/bin/perl -w use strict; package Foo; use vars qw/$foo/; $foo = "bar"; package main; # always use $Foo::foo from here on down

Or you could exploit the fact that my variables scope, while it stretches across packages declared in the same file, does not reach outside of the *file* in which they are declared. I.e. if in foo.pl you declare $foo with my, then that variable won't be visible inside subroutines declared in bar.pl

A little more souped-up kind of idea might be to define an *object* with accessor methods. Syntactically annoying (which I gather is what you're trying to avoid =), but IMO, conceptually quite clean.

final note: please, use a more descriptive title ... it might help others trying to solve the same problem =)

Philosophy can be made out of anything. Or less -- Jerry A. Fodor

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others wandering the Monastery: (8)
As of 2024-04-16 08:25 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found