#!/usr/bin/perlEl caràcter # indica un comentari en PERL. Però aquesta primera línia és un comentari PERL que interpreta el sistema operatiu: indica l'intérpret que sap executar el sript i la seva ubicació. Cal incloure aquesta línia a qualsevol programa al servidor per poder executar-lo, i tal com figura a l'exemple: a la primera línia i sense cap espai adicional. Si no, no funcionarà.
print"content-type:text/html\n\n";
La segona línia indica al servidor web que tota la sortida l'ha d'interpretar com codi HTML. És una línia típica de scripts CGI, programes que s'executen a través d'Internet. Sense aquesta línia el programa podria funcionar si l'executesim des d'un terminal del servidor, però mai funcionaria si l'executesim a través del servidor web.
A partir d'aquí comença el programa de veritat. Veiem un exemple senzill, on calculem i mostrem el quadrat dels primers 10 números naturals:
#!/usr/bin/perlCom veieu, hem de crear la pàgina web com la sortida per defecte (ordre print) del programa. Per això cal utilitzar els codis típics HTML: é, <br>, ...
print "content-type:text/html\n\n";
print "<h1>Càlcul de quadrats</h1>";
for ($i=1;$i<=10;$i++)
{
$quadrat=$i*$i;
print "El quadrat de $i és $quadrat<br>";
}
Compte amb les cometes. En PERL existeixen tres tipus de cometes:
#!/usr/bin/perlLa instrucció foreach serveix per accedir a tots els elements d'una llista. Cada element és accessible dintre del bucle amb la variable reservada $_. Aquesta variable és una de les més importants de PERL: és comparable al registre acumulador d'una CPU. Moltes instruccions utilitzen aquesta variable per defecte (de fet, print sense argument escriu el contingut d'aquesta variable. L'ús d'aquestes variables implícites donen a PERL la seva potència (reducció del codi), a la vegada que limiten la lectura del codi per als usuaris novels. Per altra banda, la funció keys retorna una llista amb las claus d'una llista associativa.
print "content-type:text/html\n\n";
$anysingrid = 2;
$cumple = $anysingrid+1;
$dona = "Isabel";
@germans = ( "Juan", "Jose Luís", "Amalia", "Rafael", "Joaquín");
%besnebots = ( "Cristina", "Aniol", "Maria Elena", "Marc");print "<h1>La meva familia</h1>";
print 'Els meus pares es diuen Juan i Amalia<br>';
print "La meva dona es diu $dona<br>";
print "La meva filla Ingrid cumplirà $cumple anys<br>";
print "Els meus germans es diuen ";
foreach (@germans)
{
print "$_, ";
}
@nebotsm=keys (%besnebots);
print "<br>Els meus besnebots són :<br>";
foreach (@nebotsm)
{
print "$besnebots{$_} (fill de $_) <br> ";
}
Podem enviar al servidor aquests arxius, ficant-los dintre del directori
cgi-bin del nostre espai web. Cal canviar els permisos d'execució:
rwxr-xr-x. Atenció: la tranferència s'ha de fer en mode ASCII,
ja que MS-DOS i UNIX fan servir diferent conveni per al canvi de línia.
Podem obligar al LeechFTP a fer aquesta traducció de codis configurant
l'extensió .cgi com transferència ASCII a Fitxer/Opcions: