chomp (@_ = ); for ($_ = 0; $_ <= $#_; $_ += 10) { @{$_[$_]} = @_[($_+1)..($_+9)]; } print "@alpha"; __DATA__ alpha beta gamma delta epsilon zeta eta theta iota kappa lamda mu nu #### use strict; use warnings; my (@arr, %find, @order, $i); chomp (@arr = ); for ($i = 0; $i <= $#arr; $i += 10) { $find{$arr[$i]} = [@arr[($i+1)..($i+9)]]; push @order, $arr[$i]; } { no warnings; print "@{$find{$_}}\n" for @order; } __DATA__ alpha beta gamma delta epsilon zeta eta theta iota kappa lamda mu nu