Janek: Thank you for explaining the difference between calling subroutines with vs. without the ampersand.
I'm glad I'm on the beginners list. Sincerely, Kevin Christopher ---------- Original Message ---------------------------------- From: Camilo Gonzalez <[EMAIL PROTECTED]> Date: Thu, 6 Jun 2002 08:23:33 -0500 >Janek, > >Wouldn't it print: >foo: >&foo:A B C > >Also, I believe that you must declare the subroutine before you are allowed >to reference it without the &. Am I right about that? > >-----Original Message----- >From: Janek Schleicher [mailto:[EMAIL PROTECTED]] >Sent: Wednesday, June 05, 2002 5:10 AM >To: [EMAIL PROTECTED] >Subject: Re: subroutine or &subroutine > > >Kevin Christopher wrote at Wed, 05 Jun 2002 04:58:38 +0200: > >> Yes, you can call subroutines either way, with or without the "&". The >only case when the >> subroutine must be prefixed with an ampersand is, I believe, when you're >assigning a reference >> variable, eg: >> >> $reference_x = \&subroutine_y; >> >> But that's another story. >> > >Oh, I'm afraid that's not the truth :-) > >&subroutine without any arguments calls the subroutine with the implicit @_ >array, >while subroutine only calls subroutine() without any argument. > >Look at this snippet: >@_ = qw(A B C); > >print 'foo:'; foo; print "\n"; >print '&foo:'; &foo; print "\n"; > >sub foo { > print @_; >} > >It prints: >foo: >&foo:ABC > > >Greetings, >Janek > >-- >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] > > -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]