NAME
perlws - application associated with PNLP files
SYNOPSIS
perlws.pl hello.pnlp
DESCRIPTION
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 perlws.pl (probably specifying the complete path). If needed, the Content-Type of the file should be specified as application/x-perl-pnlp-file.
Windows
On Windows, this association can be done, after installation, by running the included pnlp_registry.pl 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.
Open up
My Computer, and find theFile Typestab underFolder OptionsofTools(the exact location may vary, depending on the flavour of Windows used).Create a new file type
PNLP File, with extension.pnlp.Using the
ChangeandAdvancedbuttons, arrange to associate with this file type anactionofopen, with the associated application beingC:\Path\to\Perl\bin\perlws.bat "%1"The content-type associated with
.pnlpfiles can be done through the Windows Registry by adding a newContent-Typekey to the.pnlpfile extension registry entry, with a value ofapplication/x-perl-pnlp-file.
Linux
For linux, with KDE, for example, one can add a file association by
open the
File Associationsmenu item underControl Center -> KDE Componentsadd a new
applicationentry of namex-perl-pnlp-file, with filename pattern*.pnlp. The application to handle this should be associated with the perlws.pl command.
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:
#!/usr/bin/perl
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"
codebase="http://www.perl.com"
href="hello.pnlp">
etc.
etc.
</pnlp>
END
Environment Variables
The following environment variables, if set, will be used.
- PAR_TEMP
-
If set, this will be the location where the downloaded par files will be stored. If not set, a subdirectory
parbeneath the temporary directory specified byFile::Spec->tmpdirwill be used. - PAR_CLEAN
-
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).
SEE ALSO
COPYRIGHT
Copyright, 2005, by Randy Kobes <r.kobes@uwinnipeg.ca>. This software is distributed under the same terms as Perl itself. See http://www.perl.com/perl/misc/Artistic.html.