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]

Reply via email to