Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

(jeffa) 3Re: using return to create a module object

by jeffa (Bishop)
on Jul 06, 2002 at 19:07 UTC ( [id://179868]=note: print w/replies, xml ) Need Help??


in reply to Re: Re: using return to create a module object
in thread using return to create a module object

You should get out of the habit of unnecessarily quoting variables - it is bad habit. Here are a couple of corrections:
my %snmp_options = ( hostname => $args->{h}, retries => $retries, # etc ); # and $snmp_options{username} = $snmp_username;
Sure, using quotes works for those examples, but it is unnecessary and will one day lead to something like:
package My::CGI; use strict; use CGI; sub new { my $class = shift; my $foo = 'bar'; my $q = CGI->new(); my $self = { foo => "$foo", cgi => "$q", }; return bless $self, $class; } package main; use strict; my $q = My::CGI->new(); print $q->{foo}, "\n"; print $q->{cgi}->a({href=>'http://foo.bar'},'some link'),"\n"; __END__ yields: bar Can't locate object method "a" via package "CGI=HASH(0x80f8a20)" at ./foo.pl line 26.
Whoops! What happened? You literalized a reference. Try this code out, then go back and remove the unnecessary quotes inside the $self hash ref.

jeffa

L-LL-L--L-LL-L--L-LL-L--
-R--R-RR-R--R-RR-R--R-RR
B--B--B--B--B--B--B--B--
H---H---H---H---H---H---
(the triplet paradiddle with high-hat)

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others perusing the Monastery: (6)
As of 2024-04-24 11:50 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found