package ARRAY; sub grep { [eval "grep {$_[1]} \@{\$_[0]}"] } sub map { [eval "map {$_[1]} \@{\$_[0]}"] } sub sort { [eval "sort {$_[1]} \@{\$_[0]}"] } # reverse is not used in this example sub reverse { [reverse @{$_[0]} ] } 1;