http://www.perlmonks.org?node_id=1137971


in reply to Python to perl: itertools product to replace a char in string in each possible position

will produce the following combinations from the string 'convert perl to-python'

Assuming you typoed:

#! perl -slw use strict; use Algorithm::Combinatorics qw[ variations_with_repetition ]; sub zip { my( $r1, $r2 ) = @_; my $n = @$r1 > @$r2 ? $#{$r1} : $#{$r2}; map{ ( $r1->[ $_ ] // '', $r2->[ $_ ] // '' ) } 0 .. $n; } sub dashedCombos { my @words = split ' ', shift; map { join '', zip( \@words, $_ ) } variations_with_repetition( [ +' ', '-' ], $#words ); } print for dashedCombos( 'convert perl to python' ); __END__ C:\test>1137970 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

With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority". I knew I was on the right track :)
In the absence of evidence, opinion is indistinguishable from prejudice.
I'm with torvalds on this Agile (and TDD) debunked I told'em LLVM was the way to go. But did they listen!
  • Comment on Re: Python to perl: itertools product to replace a char in string in each possible position
  • Download Code