parameter=value ya sea como
argumentos o bien desde standard input. Puedes pasar keywords asi:
my_script.pl keyword1 keyword2 keyword3
my_script.pl keyword1+keyword2+keyword3
my_script.pl name1=value1 name2=value2
my_script.pl name1=value1&name2=value2
my_script.pl v=a v=c v=k
        use CGI qw/:standard -debug/;
aparecerá la línea:
(offline mode: enter name=value pairs on standard input)
y se queda esperando para que escribas los parámetros. Termina presionando
^D (^Z en NT/DOS). Si no quieres dar los parámetros a
CGI.pm, presiona ^D.
% my_script.pl first_name=fred last_name=flintstone occupation='granite miner' ^D
    my_script.pl 'name=Jorge Garcia' age=33
    my_script.pl 'name = John wiley \& Sons'
      my_script.pl ''
/dev/null o desde un fichero vacío.
    Ejemplo:
      my_script.pl </dev/null
-no_debug en la lista de símbolos a importar en lalínea use.
    Ejemplo:
      use CGI qw/:standard -no_debug/;
El módulo CGI::Carp redefine die , warn , etc. de manera que envién los mensajes etiquetados con la fecha al fichero de log. Para redirigir los mensajes de error a nuestro propio fichero de log se debe importar la función CGI::Carpout .
Para enviar los mensajes de error fatal a la ventana del navegador se usa fatalsToBrowser :
#!/usr/bin/perl
use CGI;
use CGI::Carp qw(fatalsToBrowser carpout);
open (LOG,">>/home/fred/logs/search_errors.log") ||
      die "couldn't open log file: $!";
carpout(LOG);
La función Dump produce una descripción HTML de los parámetros:
           print Dump
Produce algo como:
           <ul>
           <li>name1
               <ul>
               <li>value1
               <li>value2
               </ul>
           <li>name2
               <ul>
               <li>value1
               </ul>
           </ul>
 
