On Fri, 12 Apr 2002, Trey Harris wrote:

> I think I've missed something, even after poring over the archives for
> some hours looking for the answer.  How does one write defaulting
> subroutines a la builtins like print() and chomp()? Assume the code:
> 
>   for <> {
>      printRec;
>   }
>   printRec "Done!";
> 
>   sub printRec {
>      chomp;
>      print ":$_:\n";
>   }
> 
> Assuming the input file "1\n2\n3\n", I want to end up with:
> 
> :1:
> :2:
> :3:
> :Done!:
> 
> I assume I'm missing something in the "sub printRec {" line.  But what?
> (I also assume, perhaps incorrectly, that I won't have to resort to
> anything so crass as checking whether my first parameter is defined...)


Couldn't you do it with old-style Perl5 subs?

sub printRec {
  my $p = chomp(shift // $_);
  print ":$_:\n"
}

Or am _I_ missing something?

Luke

Reply via email to