Heeee.... Thanks alot, I just learnt 'our' from this case. But perhaps I still not know in depth of 'our', so I still have something wondering...
What will happen when I use 'our' in the required file, and also so the same var name in the entire script ? Isn't it confusing ? Maybe I am using a dummy and stupid method, but I think there is some benifits too... say : require "myParas.pl"; # Okay, no more globalvars =) my %paras = tellPath( ); It loads once too, but enough for share with the entire script too , but it won't confuse , and give the flexibility for the name of hash to carry the paths.... Please correct me I am thinking in the wrong way. =) Rgds, Connie ----- Original Message ----- From: "Jeff 'japhy' Pinyan" <[EMAIL PROTECTED]> To: "Connie Chan" <[EMAIL PROTECTED]> Cc: "Rory O'Connor" <[EMAIL PROTECTED]>; "perl" <[EMAIL PROTECTED]> Sent: Friday, July 12, 2002 2:43 AM Subject: Re: Global/local variable declaration > On Jul 12, Connie Chan said: > > ># globalVars.pl > >use strict; > >sub tellPath > >{ my ($request) = @_; > > my %GlobalVars; > > > > $GlobalVars{PathA} = '/usr/bin/perl/'; > > $GlobalVars{PathB} = '/usr/home/'; > > ......... > > > > if ($request) { return $GlobalVars{$request} } > > else { return %GlobalVars } > >} > > ICK. Don't define %GlobalVars in the function! Doing that makes you > define it EVERY single time you call the function. > > # globalvars.pl > use strict; > my %vars = ( PathA => '...', PathB => '...', ... ); > > sub get_var { > return %vars unless @_; > return @vars{@_}; > } > > Caveat: "globalvars.pl" is a BAD name for that file, since they are very > UN-global variables. > > -- > Jeff "japhy" Pinyan [EMAIL PROTECTED] http://www.pobox.com/~japhy/ > RPI Acacia brother #734 http://www.perlmonks.org/ http://www.cpan.org/ > ** Look for "Regular Expressions in Perl" published by Manning, in 2002 ** > <stu> what does y/// stand for? <tenderpuss> why, yansliterate of course. > [ I'm looking for programming work. If you like my work, let me know. ] > > > -- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]