use PDL: sub p{$t=pdl+pop;$t=$t*(pdl$_)for@_;[list$t]}