Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling

Re: Javascript to Perl = fail

by eyepopslikeamosquito (Chancellor)
on May 05, 2012 at 00:07 UTC ( #969004=note: print w/replies, xml ) Need Help??

in reply to Javascript to Perl = fail

Let's start by examining just one snippet of your Javascript code:

c = c.charCodeAt(0); c++; c = c.toString(); temp = c; c = String.fromCharCode(temp); line += c;
I hadn't written any Javascript until just now, but it seems to me (and correct me if I'm wrong) that the above code could be equivalently expressed in one line as:
line += String.fromCharCode(c.charCodeAt(0)+1);
which is equivalent to the Perl code:
$line .= chr(ord($c)+1);
assuming that $c contains just one character, as I believe it does from reading your code. Note that Perl uses a dot rather than a plus sign to concatenate strings. The Perl ord function returns the ord value (0-255) of a character while the Perl chr function does the reverse.

Given your lack of Perl experience, rather than attempting to convert the whole script all at once, I suggest you start by writing a number of very short Perl test programs, liberally sprinkled with print statements, so you can see what is going on. That should slowly build your confidence without overwhelming you. For example, you could start by running this little test program:

use strict; use warnings; my $line = "hello"; my $c = "A"; print "1. line='$line' c='$c'\n"; $line .= chr(ord($c)+1); print "2. line='$line' c='$c'\n";
which should print:
1. line='hello' c='A' 2. line='helloB' c='A'
Always start your Perl scripts with "use strict" and "use warnings" as shown above. Doing that will catch a lot of errors for you.

As for learning Perl, take a look at and Perl Tutorial Hub. Also, be sure to refer to the Perl online documentation. Good luck!

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://969004]
Discipulus when naming is clear and you know how to arrange the data, then coding it is a mere writing work
[Lady_Aleena]: marioroy, welcome to my insanity. 8)
marioroy likes Dragod, an unbelievably huge dragon. It is bigger than any planet. Wow.
[Lady_Aleena]: marioroy, not my creation, it was submitted a long long time ago when I had submission forms with a form script I can't remember the name of off the top of my head.

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (11)
As of 2017-05-29 09:16 GMT
Find Nodes?
    Voting Booth?