#!usr/bin/perl use warnings; use strict; use Algorithm::Combinatorics qw(combinations); my @data = qw(1, 2, 3); # scalar context gives an iterator my $iter = permutations(\@data); while (my $p = $iter->next) { # ... } # list context slurps my @all_permutations = permutations(\@data);"