Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked

(Ovid - beware the ampersand) RE: Regarding style

by Ovid (Cardinal)
on Oct 24, 2000 at 23:36 UTC ( [id://38191] : note . print w/replies, xml ) Need Help??

in reply to Regarding style

The ampersand in front of the subroutine name is a very specific feature which can get you in trouble if you're not expecting it. &someSub != someSub();

If you prefix a subname with an ampersand that sub will be called with the current contents of @_, unless you explicitly state the contents. Consider:

#!/usr/bin/perl -w use strict; my $test = "Hi, there!"; sub1( $test ); sub sub1 { &sub2 } sub sub2 { print @_ }
That code happily prints "Hi, there!" (without the quotes), despite an apparent lack of arguments in the sub2 call.


Join the Perlmonks Setiathome Group or just go the the link and check out our stats.