Et CGI-skript kan være så enkelt eller sammensatt som du trenger det for å være. Det kan være i Perl, Java, Python eller noe programmeringsspråk. I kjernen tar en CGI-applikasjon ganske enkelt en forespørsel via HTTP (vanligvis en nettleser) og returnerer HTML. La oss se på en enkel Perl Hei Verden CGI-skript og del det ned i de enkleste former.
'Hello World' CGI Perl manus
#! / Usr / bin / perl
skriv ut "Innholdstype: tekst / html \ n \ n";
trykk <En enkel Perl CGI En enkel Perl CGI
Hei Verden
HTML
exit;
Hvis du kjører programmet på kommandolinjen, vil du se at det gjør akkurat det du forventer. Først skriver den ut Innholdstype linje, så skriver den ut rå HTML. For å se det i aksjon i en nettleser, må du kopiere eller laste opp skriptet til webserveren din og sørge for at tillatelsene er riktig angitt (chmod 755 på * nix-systemer). Når du har satt den riktig, bør du kunne bla gjennom den og se siden som vises live på serveren din.
Nøkkelinjen er den første uttalelsen:
skriv ut "Innholdstype: tekst / html \ n \ n";
Dette forteller nettleseren at dokumentet kommer etter de to linjeskift kommer til å bli HTML. Du må send en overskrift slik at nettleseren vet hvilken type dokument som kommer videre, og du må ta med en blank linje mellom overskriften og det faktiske dokumentet.
Når overskriften er sendt, er det bare å sende HTML-dokumentet selv. I eksemplet ovenfor bruker vi et her-dokument for å forenkle utskriften av en stor del av vanlig tekst. Selvfølgelig er dette egentlig ikke annerledes enn å ha et vanlig HTML-dokument som sitter på serveren din. Den virkelige kraften ved å bruke et programmeringsspråk som Perl for å lage HTML kommer når du legger til noe fancy Perl-programmering.
Legger til i Basic Script
I neste eksempel, la oss ta en del av dette klokkeslett og dato manus og legg den til på websiden din.
#! / Usr / bin / perl
@months = qw (jan feb mar apr mai juni jul aug sep okt nov des);
@weekDays = qw (sø man man on to fre lør søn);
($ sekund, $ minutt, $ time, $ dayOfMonth, $ måned, $ yearOffset, $ dayOfWeek, $ dayOfYear, $ daylightSavings) = lokaltid ();
$ år = 1900 + $ årOffset;
$ theTime = "$ weekDays [$ dayOfWeek] $ months [$ month] $ dayOfMonth, $ year";
skriv ut "Innholdstype: tekst / html \ n \ n";
trykk <En enkel Perl CGI En enkel Perl CGI
$ thetime
HTML
exit;
Dette nye CGI-skriptet vil sette inn gjeldende dato på siden hver gang skriptet kalles. Med andre ord blir det en dynamisk dokument som endres når datoen endres, i stedet for a statisk dokument.