Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re: phantom subroutine parameter values

by blahblahblah (Priest)
on Apr 15, 2008 at 03:08 UTC ( #680422=note: print w/ replies, xml ) Need Help??


in reply to phantom subroutine parameter values

This will happen when you call a sub with an ampersand but without any parentheses, like the following:

⊂

Doing so makes the calling sub's @_ visible to called subroutine. To avoid this, either omit the ampersand or include empty parens when calling a sub with no args. See perlsub for more info.


Comment on Re: phantom subroutine parameter values
Download Code
Re^2: phantom subroutine parameter values
by rpelak (Sexton) on Apr 15, 2008 at 03:53 UTC
    Thanks guys. I knew it was something simple... That explains why a lot of my old code doesn't have ampersands... Sucks be forced to program in tcl for a few years... rpelak
      uh?! it seems a feature! in any case i like calling with the & 'cause i spot easy subroutine's calling.

      if i understand :
      sub refinemydata { my $data = shift; &is_refined:return?&rerefine;}
      could be a valid syntax too ?
      something new

      Lor*
        The ampersand is functional, not decorative. &func(args) is not the same as func(args). The function's prototype is ignored in the former. And &func, &func() and func() are all different. @_ is left untouched by the first.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (4)
As of 2014-10-21 01:13 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    For retirement, I am banking on:










    Results (95 votes), past polls