my $str = 'convert perl-to python'; my $bits =()= $str =~ /[ -]/g; for (0 .. (1<<$bits)-1) { my @l = split//,unpack'b*',pack'C,',$_; (my $out = $str) =~ s/[ -]/(' ','-')[shift @l]/ge; print $out, $/; } __END__ convert perl to python convert-perl to python convert perl-to python convert-perl-to python convert perl to-python convert-perl to-python convert perl-to-python convert-perl-to-python