#!/usr/bin/perl -w # filename: combo use strict; my $entry = shift; my @array = $entry =~ m/^(\d)(\d)(\d)$/ ? ($1.$2.$3, $1.$3.$2, $2.$1.$3, $2.$3.$1, $3.$1.$2, $3.$2.$1) : (); @array or die "Bad input: ${entry}\n"; @array = do { my %hash; @hash{@array} = (); keys %hash; }; print "${entry} was entered.", " The different combinations would be @{array}.\n"; __END__ $ perl combo 123 123 was entered. The different combinations would be 231 123 312 321 213 132. $ perl combo 122 122 was entered. The different combinations would be 221 212 122.