Ett CGI-skript kan vara så enkelt eller komplicerat som du behöver för att det ska vara. Det kan vara i Perl, Java, Python eller något annat programmeringsspråk. I sin kärna tar en CGI-applikation helt enkelt en begäran via HTTP (vanligtvis en webbläsare) och returnerar HTML. Låt oss titta på en enkel Perl Hej världen CGI-skript och dela upp det i de enklaste formerna.
"Hello World" CGI Perl manus
#! / Usr / bin / perl
tryck "Innehållstyp: text / html \ n \ n";
tryck <En enkel Perl CGI En enkel Perl CGI
Hej världen
html
utgång;
Om du kör programmet på kommandoraden ser du att det gör exakt vad du kan förvänta dig. Först skriver det ut Innehållstyp rad, sedan skriver den ut rå HTML. För att se det i handling i en webbläsare måste du kopiera eller ladda upp skriptet till din webbserver och se till att behörigheterna är korrekt inställda (chmod 755 på * nix-system). När du har ställt in det korrekt bör du kunna bläddra till den och se sidan som visas live på din server.
Nyckellinjen är det första utskriften:
tryck "Innehållstyp: text / html \ n \ n";
Detta säger webbläsaren att dokumentet kommer efter de två nyrader kommer att bli HTML. Du måste skicka en rubrik så att webbläsaren vet vilken typ av dokument som kommer nästa, och du måste inkludera en tom rad mellan rubriken och det faktiska dokumentet.
När rubriken har skickats handlar det bara om att skicka HTML-dokumentet själv. I exemplet ovan använder vi ett här-dokument för att förenkla utskriften av en stor bit av vanlig text. Naturligtvis är detta verkligen inte annorlunda än att ha ett vanligt HTML-dokument som sitter på din server. Den verkliga kraften i att använda ett programmeringsspråk som Perl för att skapa din HTML kommer när du lägger till något fint Perl-programmering.
Lägga till i Basic Script
I nästa exempel, låt oss ta del av detta tid och datum skript och lägg till den på din webbsida.
#! / Usr / bin / perl
@months = qw (jan feb mar apr maj jun jul aug sep okt nov nov dec);
@weekDays = qw (Sön Man Tis Ons Tor Fre Lör Sön);
($ sekund, $ minut, $ timme, $ dayOfMonth, $ månad, $ yearOffset, $ dayOfWeek, $ dayOfYear, $ daylightSavings) = lokaltid ();
$ år = 1900 + $ årOffset;
$ theTime = "$ weekDays [$ dayOfWeek] $ months [$ month] $ dayOfMonth, $ year";
tryck "Innehållstyp: text / html \ n \ n";
tryck <En enkel Perl CGI En enkel Perl CGI
$ thetime
html
utgång;
Detta nya CGI-skript kommer att infoga det aktuella datumet på sidan varje gång skriptet kallas. Med andra ord blir det en dynamisk dokument som ändras när datumet ändras snarare än ett statisk dokumentera.