# Permutations - Perl or just Javascript embedded ?

Discussion in 'Perl Misc' started by Telemach, Feb 28, 2008.

1. ### TelemachGuest

Yesterday I was thinking all day long about what to use for
permutations and still can't figure out a solution. Situation is
this :

I found great small javascript function that does permutations but
this is quite an unusual one.
Every single digit is assigned to 3 or 4 letters so for example
permutations of number 23
could look like this :

ae
af
bd
be
bf
cd
ce
cf

javascipt code is very simple and it looks like too simple to
understand by me (Perl newbie)
because there is no direct loop, just calling a sub from inside this
same sub

I'm having troubles in understanding this code and then rewriting in
Perl so my question is this :
would it be easier to use some javascript module for Perl and paste
javascipt code inside perl script or rewriting this but with help of
permutation modules ?

Problem is that there are 3 or 4 letters per digit and user can input
whatever long number string.

- Telemach -

Telemach, Feb 28, 2008

2. ### Joost DiepenmaatGuest

Telemach <> writes:

> I found great small javascript function that does permutations but
> this is quite an unusual one.

I can't really make sense of your description. If the code is that
simple it's probably short enough to post it here.

> javascipt code is very simple and it looks like too simple to
> understand by me (Perl newbie)
> because there is no direct loop, just calling a sub from inside this
> same sub

Yes, recursion. If you've never seen it before it may take a little
getting used to, I guess. Perl can do this just fine:

# this is an extremely silly example

function rec {
my \$i = shift;
if (\$i <= 0) {
return 0;
}
else {
return \$i + rec(\$i-1);
}
}

> I'm having troubles in understanding this code and then rewriting in
> Perl so my question is this :
> would it be easier to use some javascript module for Perl and paste
> javascipt code inside perl script or rewriting this but with help of
> permutation modules ?

Using a javascript module for something that sounds as simple as this is
probably complicating the matter too much. You can translate most
javascript code fairly easily to perl.

> Problem is that there are 3 or 4 letters per digit and user can input
> whatever long number string.

I don't know what you're talking about.

--
Joost Diepenmaat | blog: http://joost.zeekat.nl/ | work: http://zeekat.nl/

Joost Diepenmaat, Feb 28, 2008