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.

Cheers,
Ovid

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