in reply to modifying perl functions without having to write own functions...

No. The functions wern't written that way, so they won't do that. However, it's often trivial to make the builtins work on arrays using map and apply.

Examples using a function that returns the transformed value:

@new = map lc, @old; @new = map ord, @old; @new = map { sprintf('%02X', $_) } @old;

Examples using a function that transforms the value in-place:

use List::MoreUtils qw( apply ); @new = apply { chomp; } @old; @new = apply { tr/a-z/n-za-m/; } @old;

It's particularly easy when the the function uses $_ when no argument is supplied. You can make your own functions work on $_ by using the following pattern:

sub func { for (my $s = @_ ? $_[0] : $_) { ... do something with $_ ... return $_; } } $new = func($old); @new = map func, @old;