in reply to OT: Perl and Javascript - escaping newlines

Does JavaScript have a chr function?

my $string = ... from db ...; my $jscode = $string; $jscode =~ s/(\W)/ '" + chr(' . ord($1) . ') + "' /ge; $jscode =~ s/ \+ ""//g; $jscode = qq{"$jscode"};
will produce
"line1" + chr(13) + "line2" + chr(13)
for
"line1\nline2\n"

Replies are listed 'Best First'.
Re^2: OT: Perl and Javascript - escaping newlines
by PodMaster (Abbot) on Feb 26, 2006 at 09:20 UTC
    use Data::JavaScript; my @array = ( 1, 2, "f\no\no\n\bar" ); print $_,$/ for jsdump( my_array => \@array); __DATA__ var my_array = new Array; my_array[0] = 1; my_array[1] = 2; my_array[2] = 'f\012o\012o\012\010ar';
    This confirms it for me
    <a href="javascript:alert('f\012o\012o\012\010ar');"> alert('f\012o\012o\012\010ar') </a>

    MJD says "you can't just make shit up and expect the computer to know what you mean, retardo!"
    I run a Win32 PPM repository for perl 5.6.x and 5.8.x -- I take requests (README).
    ** The third rule of perl club is a statement of fact: pod is sexy.

      In that case,
      my $string = ... from db ...; my $jscode = $string; $jscode =~ s/(\W)/ sprintf('\\0%o', ord($1)) /ge; $jscode = qq{"$jscode"};
      would also work.