in reply to subroutine bewilderment: how to mimic builtins
Prototyping? Am I missing something here? This seems to work:
sub mylcfirst { my $x; if (@_) { $x = join "", @_ } else { $x = $_ } $x =~ s/(.)/\l$1/; return $x; } sub myuc { my $x; if (@_) { $x = join "", @_ } else { $x = $_ } $x =~ s/(.*)/\U$1/; return $x; } sub myreverse { my $x; if (@_) { $x = join "", @_ } else { $x = $_ } $x = reverse $x; return $x; } ### sample1 $_ = 'lrep esu'; $str = myreverse mylcfirst myuc; print $str."\n"; ### sample2 $_ = 'lrep esu'; $str = mylcfirst myreverse myuc; print $str."\n";
Sure, the code is a little clunky. And it doesn't take reverse in list context into account, but the idea is there. What part of this isn't what you are expecting?
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: subroutine bewilderment: how to mimic builtins
by ikegami (Patriarch) on Feb 07, 2006 at 23:47 UTC |