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";