Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

Re^4: Use of uninitialized value $_ in string

by juanpablo (Novice)
on Apr 06, 2014 at 09:08 UTC ( #1081295=note: print w/replies, xml ) Need Help??


in reply to Re^3: Use of uninitialized value $_ in string
in thread Use of uninitialized value $_ in string

Hi AnomalousMonk,

Thanks for pointing it out. Yes, I admit I missed adding the backslash before the &usage(). The script works fine as of now but I'm still trying to improve its features and hopefully I don't get new errors. :)

Thanks a lot for the help!

Cheers,

JP

Replies are listed 'Best First'.
Re^5: Use of uninitialized value $_ in string
by AnomalousMonk (Bishop) on Apr 06, 2014 at 19:54 UTC
    ... adding the backslash before the &usage().

    I'm sure you understand this, but just in case...

    Just adding a backslash in front of a subroutine invocation will cause a reference to be taken to whatever the subroutine happens to return when invoked.

    c:\@Work\Perl\monks>perl -wMstrict -MData::Dump -le "sub S { return uc $_[0]; } ;; my %hash = ( 'x' => \&S('foo'), 'y' => \S('bar') ); dd \%hash; " { x => \"FOO", y => \"BAR" }

    Of course, the correct expression for assigning a code reference to a hash key would be
        'help' => \&usage,

    (Also, it's better practice to invoke subroutines without the  & sigil due to certain occasional, unexpected side-effects. So rather than
        my $x = &function('argument', 'list');
    it's better to write
        my $x = function('argument', 'list');
    instead, thus preserving use of  & for taking code references and for those odd function invocation cases in which its use is critical. See perlsub.)

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (2)
As of 2022-08-15 22:12 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?