--- "Pense, Joachim" <[EMAIL PROTECTED]> wrote: > >Von: Moran, Matthew [mailto:[EMAIL PROTECTED]] > >Gesendet am: Mittwoch, 20. November 2002 14:41 > >Joachim suggested: > > >> sub commify { > >> my $max = shift; > >> my $sep = shift; > >> my $end = shift; > >> > >> ... > >> } > >> > >> better or even worse in your view? > > > >Clearer, but just as bad IMHO. I've always done it as > > >sub subroutine( > > my ($list, &of, $variables) = @_; > ># rest of code here > >} > > >It's how it's always shown in the Cookbook & what have you. > > Not *always*, I've seen my version explicitly suggested somewhere. The > advantage in my eyes is that you consume the input parameters so they are > gone when you read them. It is also easier to check in the end if there are > any left so too many were supplied.
You mean you saw it in the holy book itself: "Programming Perl" (aka The Camel). Looking at page 374 we find: sub TIEARRAY { my $class = shift; my $bound = shift; confess "usage: tie(\@array, 'BoundedArray', max_subscript)" if @_ || $bound =~ /\D/; return bless { BOUND => $bound, DATA => [] }, $class; } To bring this back inline with the original discussion, I was thinking the problem could be solved with a tied array. Starting at 372 it shouldn't take long to implement the required code - left as an exercise for the reader. Jonathan Paton ===== s''! v+v+v+v+ J r e P h+h+h+h+ !s`\x21`~`g,s`^ . | ~.*``mg,$v=q. P ! v-v-v-v- u l r e r h-h-h- !12.,@.=m`.`g;do{$.=$2.$1,$.=~s`h E ! v+v+v+ s k e h+h+ !`2`x,$.=~s`v`31`,print$.[$v+=$.] R ! v-v- t H a c h h- !}while/([hv])([+-])/g;print"\xA" L ! A n o t !';$..=$1while/([^!]*)$/mg;eval$. __________________________________________________ Do You Yahoo!? Everything you'll ever need on one web page from News and Sport to Email and Music Charts http://uk.my.yahoo.com