in reply to Re^2: using shift and $_ in loop
in thread using shift and $_ in loop

Now, how can I make this so I can use shift,

What's wrong with the for version?

map and grep lend themselves well here:

sub alter { return map uc, grep is_name($_), @_; }

Replies are listed 'Best First'.