My preference... > &showargs();
Ick. I use this one when it is required (references and overriding prototypes), otherwise it isn't what I mean. If I mean to just execute the method, then I don't use it. > showargs; Yuk. It saves a few keystrokes, but I tend to avoid it. > showargs(); I like this one. It's the "usual" way to program. In most languages the parens are required, so it's just easier to stick with one habit. Rob -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Thursday, October 02, 2003 5:43 PM To: Thomas Bätzler Cc: '[EMAIL PROTECTED]'; Tim Johnson; [EMAIL PROTECTED] Subject: RE: explicit vs implicit syntax Thanks I understand what you're saying. If I could ask, which one of these would you use? > &showargs; #NOT this is the tricky > &showargs(); > showargs; > showargs(); thanks, -rkl > [EMAIL PROTECTED] asked: >> Here's an excerpt about the & from orielly and what the heck >> does it means: >> >> "...If a subroutine is called using the & form, the argument list is >> optional. if ommitted, no @_ array is setup for the routine; >> the @_ array at the time of the call is visible to subroutine instead." > > If in doubt, run a test ;-) > > #!/usr/bin/perl -w > > use strict; > > sub showargs { > print "arguments are: " . join(', ', @_) . "\n"; > } > > sub test { > print "Arguments for test() are: " . join(', ', @_) . "\n"; > print "Calling &showargs - "; > &showargs; > print "Calling &showargs() - "; > &showargs(); > print "Calling showargs - "; > showargs; > print "Calling showargs() - "; > showargs(); > } > > test qw(foo baz bar); > __END__ > >> So, is there a better or worse? both ways works for me. I just started >> going back and putting the & onto the sub ;) I don't like it >> the & but I thought that you need it. > > See for yourself - there's only one use for the ampersand, > and it's obscure. My advice would be to avoid using it even > in the one situation where it would make sense - when passing > @_ as an argument to your function. Sure, it is idiomatic Perl > at its best, but it also makes a program harder to read and > understand. > > In other words - save it for Perl Golf ;-) > > HTH, > Thomas > > PS: Perl Golf - writing code with as little (key-)strokes as > possible. > -- 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]