This document is a list of frequently asked (and, therefore, answered) questions about the Personal Open Directory. Please ensure you have read this document and any releated documentation before asking for support - it makes everybodies life easier. This document is *not* made to be read in one go, rather it has been designed so you can jump to one section or another. If you see a question that relates to the problem you have, just use your text editor to search for: == 000 where 000 is the number of the question that relates to the problem. General questions 001. How much does POD cost 002. Who wrote POD 010. POD's became very slow with recent releases. Why? 049. Other FAQs General CGI errors 051. Why am I getting the Server Error 500 message when trying to run pod.cgi from my browser? 052. How do I run pod.cgi from the command line? 053. I can't get the search logging to work! 054. Can I get the script to start in a specific category? 055. How about limiting POD to that category? 056. I'm getting 'Software error: podvars.pm did not return a true value at pod.cgi'. What does this mean and how do I fix it? Windows Specific 105. When run I get a message about malford headers and/or I don't get any output in my browser 106. When I access my script it comes up with a message similar to 'unrecognized mimetype' of application/x-perl 107. The headers (Content-Type etc) show up in my web browser 108. My script appears as a text file instead of executing ================================================================= == 001 How much does POD cost The Personal Open Directory is completely free. See also: 1.0.1 Legal notice 1.0.2 Copyright notice ================================================================= == 002 Who wrote POD Personal Open Directory was mostly written by John Grohol and Richard Chiswell. It is very lightly based on maxcomm.cgi by Ross Faulds. It also incorporates an internationalization modification routine written by Scott Stevenson. See also: 1.0 Credits ================================================================= == 010 POD's became very slow with the recent releases. Why? For some reason, breaking the variables into their own file has resulted in a slight slowdown of the script for some people. The workaround for this is to simply add the variables back into the script. See also: 3.3.2 - Setting the path to podvars.pm. ================================================================= == 049 Other FAQs You may find the following FAQs to be of assistance: Perl CGI Programming FAQ: http://www.perl.com/pub/doc/FAQs/cgi/perl-cgi-faq.html The Idiot's Guide to Solving Perl CGI Problems http://www.perl.com/CPAN-local/doc/FAQs/cgi/idiots-guide.html CGI.pm - Documentation http://stein.cshl.org/WWW/software/CGI/ ================================================================= == 051 Why am I getting the 'Server Error 500' message when trying to run pod.cgi from my browser? This is a common problem and is usually caused by the following reasons: - If the script doesn't contain the proper path to the Perl interpreter in the first line of the script. - There is a syntax error in the script. See the FAQ 052 for running the script from the command line. - The most common reason for a 500 server error (assuming you've changed the podvars.pm and configuration variables properly) is that your web server does not have the proper Perl modules installed. Double-check to ensure all Perl modules POD needs are installed. - Another common problem is that the script has a line (either blank or containing characters) before the 'she-bang' line (the first line - this defines where the Perl interpreter is). Check that the first line of pod.cgi is something like: #!/usr/bin/perl ================================================================= == 052 How do I run pod.cgi from the command line? First telnet to your server and go into the directory the script is stored in. Now try the following command to test the script with no settings: perl pod.cgi '' (replacing 'perl' with the full path to your Perl interpreter if necessary). To test it with a set category, run the script via perl pod.cgi 'pod_debug_path=Computers%3FInternet' Again replacing 'perl' with the full path to your Perl interpreter if necessary. Replace 'Computers%3FInternet' with the category you wish to test, replacing all the slashes with a percent sign followed by 3F. For example: Computers becomes just Computers Arts/Humanities becomes Arts%3FHumanities ================================================================= == 053 I can't get the search logging to work! Ensure the variable $pod_logging (in podvars.pm) is set to a full path and filename of the logfile you want to use for logging. You can also try creating a 'dummy' file (ie empty) and saving it as you logfile. This sometimes helps. You could also try setting the file permissions to this file as chmod ug+rw or chmod 775 or chmod go+rw or chmod 777 The first option is more preferable as it doesn't allow users to write to the file directly. See also: 3.2.1 Script Configuration ================================================================= == 054 Can I get the script to start in a specific category? Yes, just ensure your POD is called with a URL like: http://www.example.com/cgi-bin/pod.cgi?dir=/Health/ or http://www.example.com/cgi-bin/pod/Health/ ================================================================= == 055 How about limiting POD to that category? You can't limit POD to a set category, nor exclude certain categories, with version 1.70d. Sorry ================================================================= == 056 I'm getting 'Software error: podvars.pm did not return a true value at pod.cgi'. What does this mean and how do I fix it? This is normally caused by somehow missing off the last line of podvars.pm which reads: ;1 this line may look unnecessary, but it is needed. You may also find it may be necessary to add a 'blank line' after that line because some FTP programs may trim the last line. ================================================================= == 100 General advice In general, Windows requires you to set the full path to your podvars.pm file in Perl, this will be something like: require "C:\inetpub\wwwroot\cgi-bin\podvars.pm" You may need to rename pod.cgi to pod.pl - if so also change the variable $pod_progname to reflect this See also: 3.3.2 - Setting the path to podvars.pm 3.2.1 - Script configuration ================================================================= == 105 When run I get a message about malford headers and/or I don't get any output in my browser If you are running Perl Internet Information Server (IIS) your server administrator needs to set the registry key HKEY_LOCAL_MACHINE\SOFTWARE\ActiveState\PerlIIS value 'EnableCGIHeader' (a REG_DWORD) to 1. Also try checking your permissions. IIS needs to have script/execute set for your cgi-bin. The user IUSR_(Machine_name) should have execute rights to that directory. ================================================================= == 106 When I access my script it comes up with a message similar to 'unrecognized mimetype' of application/x-perl The web server has been misconfigured. It doesn't know that it should execute your Perl program, so it's just returning the entire script to the browser. ================================================================= == 107 The headers (Content-Type etc) show up in my web browser. You are using an old version of Perl for ISAPI as your Perl interpreter on an IIS web server, but it's not outputting the proper HTTP status line. You should be able to fix this by getting your server administrator to intall the most recent version of Perl and PerlIIS. ================================================================= == 108 My script appears as a text file instead of executing. Use the IIS Management console to associate .pl or .cgi files with perl.exe