View on
MetaCPAN is shutting down
For details read Perl NOC. After June 25th this page will redirect to
Kenichi Ishigaki > PAR-WebStart > perlws


Annotate this POD

View/Report Bugs


perlws - application associated with PNLP files

SYNOPSIS ^ hello.pnlp


This script should be registered to open PNLP files from the browser (how to do that is described later). When this is done, the script will read the information contained within the file, fetch the required par files that are specified, and then form and run the command to execute the specified main script.

File Associations ^

Associating an application with a file extension in a browser environment depends on the browser and platform. With some browsers, an option in one of the browser menus allows one to do this directly. In this case, one should open files with a .pnlp extension with (probably specifying the complete path). If needed, the Content-Type of the file should be specified as application/x-perl-pnlp-file.


On Windows, this association can be done, after installation, by running the included script in this distribution, which will add the appropriate Registry settings. If this script fails, or you'd prefer to do this this manually, carry out the following steps.


For linux, with KDE, for example, one can add a file association by

An alternative route to this procedure is to right-click an existing .pnlp file within the file explorer window and choose the Edit File Type menu item.

Server Configuration ^

On the server side, it's probably a good idea to also associate the content-type of application/x-perl-pnlp-file with .pnlp file extensions. On Apache, this can be done within the httpd.conf file by adding the directive

  Addtype application/x-perl-pnlp-file .pnlp

Special consideration must be given when generating the PNLP dynamically, as in, for example, a CGI script, as in this case there likely would not be a .pnlp file extension present. One way to do this is through a Content-Disposition header, as in the following example of a CGI script:

    print qq{Content-Disposition: filename="test.pnlp"\n};
    print "Content-type: application/x-perl-pnlp-file\n\n";
    print <<"END";
 <?xml version="1.0" encoding="utf-8"?>
 <pnlp spec="0.1"

Environment Variables ^

The following environment variables, if set, will be used.


If set, this will be the location where the downloaded par files will be stored. If not set, a subdirectory par beneath the temporary directory specified by File::Spec->tmpdir will be used.


If set, the downloaded par files will be removed after use. The default is to not remove such files, so as to provide a cache for later use (the md5 checksum of the cached file will be checked against that on the server to decide if an update to the cached file is available).




Copyright, 2005, by Randy Kobes <>. This software is distributed under the same terms as Perl itself. See

syntax highlighting: