use strict; sub x { ($_[0],$_[1],$_[2])=qw(fee fi fo) } sub y { @_ = qw(one two three) } sub z { ($_[1],$_[2],$_[3]) = @{$_[0]} } my ($x,$y,$z); x($x,$y,$z); print "$x, $y, $z", $/; tr!$x,$y,$z! print "$x, $y, $z", $/! &z( [ 77,44,232], $x, $y, $z); print "$x, $y, $z", $/; #### tr/abc/def/ &function(); # which is really tr/abc/def/ & function();