Et CGI-script kan være så enkelt eller komplekst, som du har brug for det for at være. Det kunne være i Perl, Java, Python eller andet programmeringssprog. I sin kerne tager en CGI-applikation simpelthen en anmodning via HTTP (typisk en webbrowser) og returnerer HTML. Lad os se på en simpel Perl Hej Verden CGI script og opdele det i dets enkleste former.
'Hello World' CGI Perl-script
#! / Usr / bin / perl
udskriv "Indholdstype: tekst / html \ n \ n";
tryk <En simpel Perl CGI En simpel Perl CGI
Hej Verden
HTML
Afslut;
Hvis du kører programmet på kommandolinjen, vil du se, at det gør nøjagtigt, hvad du ville forvente. Først udskrives den Indholdstype linje, derefter udskrives den rå HTML. For at se det i handling i en webbrowser, skal du kopiere eller uploade scriptet til din webserver og sørge for, at tilladelserne er indstillet korrekt (chmod 755 på * nix-systemer). Når du har indstillet det korrekt, skal du være i stand til at gennemse det og se den side, der vises live på din server.
Nøglelinjen er den første udskrivning:
udskriv "Indholdstype: tekst / html \ n \ n";
Dette fortæller browseren, at dokumentet kommer efter de to nye linjer bliver HTML. Du skal send en overskrift, så browseren ved, hvilken type dokument der kommer næste, og du skal inkludere en tom linje mellem overskriften og det faktiske dokument.
Når først overskriften er sendt, er det bare et spørgsmål om at sende selve HTML-dokumentet. I ovenstående eksempel bruger vi et her-doc til at forenkle udskrivning af en stor del af almindelig tekst. Naturligvis er dette virkelig ikke anderledes end at have et almindeligt HTML-dokument, der sidder på din server. Den virkelige magt ved at bruge et programmeringssprog som Perl til at oprette din HTML kommer, når du tilføjer noget fancy Perl-programmering.
Tilføjelse til det grundlæggende script
I det næste eksempel, lad os tage en del af dette klokkeslæt og dato script og tilføj det til din webside.
#! / Usr / bin / perl
@months = qw (jan. feb. mar. april. maj. jul. jul. sep. okt. nov. dec);
@weekDays = qw (sø ma. man. ons. fre. lør. søndag);
($ sekund, $ minut, $ time, $ dayOfMonth, $ måned, $ yearOffset, $ dayOfWeek, $ dayOfYear, $ daylightSavings) = localtime ();
$ år = 1900 + $ årOffset;
$ theTime = "$ weekDays [$ dayOfWeek] $ måneder [$ month] $ dayOfMonth, $ year";
udskriv "Indholdstype: tekst / html \ n \ n";
tryk <En simpel Perl CGI En simpel Perl CGI
$ thetime
HTML
Afslut;
Dette nye CGI-script indsætter den aktuelle dato på siden, hver gang scriptet kaldes. Med andre ord bliver det en dynamisk dokument, der ændrer sig efterhånden som datoen ændres, snarere end et statisk dokument.