http://www.perlmonks.org?node_id=760289


in reply to calling perl subroutine on selecting the values in list box?

It isn't, at least not directly. (Unless you are using a client side PerlScript plugin (which I've never seen available for a browser other then MSIE and never seen used in the wild).)

There is an indirect approach though.

  1. Register an onchange event handler using JavaScript.
  2. When it fires make an HTTP request (e.g. with XMLHttpRequest or setting the location property).
  3. Use the information in the request in your server side program to run the routine you want.

A JS library such as YUI will do most of the heavy lifting for you. Make sure you use progressive enhancement to ensure your system is robust.

Replies are listed 'Best First'.
Re^2: calling perl subroutine on selecting the values in list box?
by citromatik (Curate) on Apr 27, 2009 at 07:23 UTC

    While the original post doesn't require a dynamic (AJAX based) solution, here is a simpler one:

    • 1. (As before) Register an onchange event handler using JavaScript
    • 2. When it fires, call a CGI script, run the desired subroutine and load the resulting page.

    Using a template system like HTML::Template could also be useful.

    citromatik