Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

Re: Javascript to Perl = fail

by eyepopslikeamosquito (Canon)
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!

Comment on Re: Javascript to Perl = fail
Select or Download Code

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://969004]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (19)
As of 2014-07-31 14:49 GMT
Find Nodes?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:

    Results (249 votes), past polls