http://qs321.pair.com?node_id=1217153


in reply to Re^5: list of four digit lock combinations without repeated digits
in thread list of four digit lock combinations without repeated digits

If you don't want the spaces, don't put them in to start with. Rather than "@$_" use join'',@$_ or pack 'A*', @$_, or set $"=undef.

Of course I picked the slowest way(s) not to do it. I've got a bad habit of overthinking problems and overengineering solutions and shoving a regex into map like that when I know all about join is typical! Your keisaku is appreciated, I can see:

map + regex: ~0m0.950s
time perl -MAlgorithm::Combinatorics=:all -wle' my $i=variations_with_repetition(["a".."z"],$ARGV[0]); my @x; push @x, map {s/ //} qq[@$_] while $_=$i->next; print scalar @x' 4
map: ~0m0.830s
time perl -MAlgorithm::Combinatorics=:all -wle' my $i=variations_with_repetition(["a".."z"],$ARGV[0]); my @x; push @x, map {$_} qq[@$_] while $_=$i->next; print scalar @x' 4
pack: ~0m0.820s
time perl -MAlgorithm::Combinatorics=:all -wle' my $i=variations_with_repetition(["a".."z"],$ARGV[0]); my @x; push @x, pack "A*", qq[@$_] while $_=$i->next; print scalar @x' 4
join: ~0m0.720s
time perl -MAlgorithm::Combinatorics=:all -wle' my $i=variations_with_repetition(["a".."z"],$ARGV[0]); my @x; push @x, join "", @$_ while $_=$i->next; print scalar @x' 4
$"=undef: ~0m0.720s
time perl -MAlgorithm::Combinatorics=:all -le' my $i=variations_with_repetition(["a".."z"],$ARGV[0]); my @x; qq[$"=undef]; push @x, qq[@$_] while $_=$i->next; print scalar @x' 4
STOP REINVENTING WHEELS, START BUILDING SPACE ROCKETS!CPAN 🐫