Here is an example. There are MANY posts on PM about CGI scripts. Most of the books I have read on writing them, including Perl books, seem to agree that any page that wants to be even remotely high performance needs to have some javascript to avoid needless round trips to the server for poor form input and the like. PM has been a very poor place to learn how to write perl scripts that do this, partly because javascript discussion is looked down upon here. JS sites, on the other hand, don't show perl scripts like this because they want to avoid the Perl focus. I had an application a few months ago where I wanted to use JS in a Perl script to re-sort a short list in a cgi form without requiring a round trip to the server. I needed to have the Perl script write the code to fill the JS array. Being somewhat new to both Perl and JS, I had much difficulty finding examples of how to do this, and felt there should have been much more in Supersearch about writing JS with Perl.

Everything you do in JavaScript, has nothing to do with Perl.
Everything you do in Perl, has nothing to do with JavaScript.

You may be using one language to generate code for the other, or maybe you found a way to use both languages together, but with normal CGI programming, you have strict separation of client and server side.

You needed some Perl to fill a JS array. Surprise: that has nothing to do with JS, only with its syntax. You would probably want to generate JS, which is (from Perl's view) just a string of code:

my @foo = qw(foo bar baz); my $js = 'foo = new Array(' . join(', ', map "'\Q$_\E'", @foo) . ');';
Or something like that.

HTML and Javascript have nothing to do with Perl, but generating them can have. But when generating a string, it doesn't matter if it's executable code or just a string of repeated characters.

Generating Javascript code ("a string") with Perl is of course not off topic, Javascript itself would be. (Such as the recent question about closing a pop-up window. I'm not linking to it, because I hope it's reaped by now :)

By the way, have a look at Data::JavaScript.

any page that wants to be even remotely high performance needs to have some javascript to avoid needless round trips to the server for poor form input and the like.

That is HTTP, HTML, CGI and server maintenance related. It is NOT Perl related! CGI can be written in any programming language that can handle environment variables and stdin/stdout. Yes, you can write CGI programs in C, GW-Basic, Pascal, Visual Basic or even Brainfuck if you don't care about the environment variables.

- Yes, I reinvent wheels.
- Spam: Visit eurotraQ.

In reply to Re: Re: Re: On Responsible Considerations by Juerd
in thread On Responsible Considerations by footpad

Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.