Scenarij CGI je lahko tako preprost ali zapleten, kot ga potrebujete. Lahko bi bilo v Perlu, Java, Python ali kateri koli programski jezik. V bistvu aplikacija CGI preprosto sprejme zahtevo prek HTTP-ja (običajno spletnega brskalnika) in vrne HTML. Poglejmo si preprost Perl Pozdravljen, svet CGI skript in jo razčlenite na najpreprostejše oblike.
CGI Perl skript 'Hello World'
#! / usr / bin / perl
natisni "Vrsta vsebine: besedilo / html \ n \ n";
natisniti <Preprost CGI Perl Preprost CGI Perl
Pozdravljen, svet
HTML
izhod;
Če program zaženete v ukazni vrstici, boste videli, da deluje točno tisto, kar bi pričakovali. Najprej natisne Vsebinska vrsta vrstico, nato pa natisne surovi HTML. Če ga želite videti v spletnem brskalniku, morate kopirati ali naložiti skript na svoj spletni strežnik in se prepričati, da so dovoljenja pravilno nastavljena (chmod 755 v * nix sistemih). Ko ga pravilno nastavite, bi lahko brskali po njem in si ogledali stran, prikazano v živo na vašem strežniku.
Ključna vrstica je prva izjava o tiskanju:
natisni "Vrsta vsebine: besedilo / html \ n \ n";
To brskalniku pove, da je dokument, ki prihaja po dva nove vrstice bo HTML. Ti mora pošljite glavo, tako da brskalnik ve, katera vrsta dokumenta je naslednja, med glavo in dejanskim dokumentom pa morate vključiti prazno vrstico.
Ko je glava poslana, je samo stvar pošiljanja samega dokumenta HTML. V zgornjem primeru uporabljamo tu-doc za poenostavitev tiskanja velikega kosa navadnega besedila. Seveda se to v resnici ne razlikuje od tega, da na vašem strežniku sedi navaden dokument HTML. Resnična moč uporabe programskega jezika, kot je Perl, za ustvarjanje HTML-ja, pride, ko dodate nekaj domišljijskega programiranja Perla.
Dodajanje k osnovnemu scenariju
V naslednjem primeru si oglejmo del tega čas in datum skripta in ga dodajte na svojo spletno stran.
#! / usr / bin / perl
@months = qw (jan. februar. mar. apr. maj. junij. avgust. september. oktober. dec.);
@weekDays = qw (ned. pon. četr. četr. petek ned sonce);
($ druga, $ minuta, $ ura, $ dayOfMonth, $ mesec, $ yearOffset, $ dayOfWeek, $ dayOfYear, $ daylightSavings) = localtime ();
$ year = 1900 + $ yearOffset;
$ theTime = "$ weekDays [$ dayOfWeek] $ months [$ month] $ dayOfMonth, $ year";
natisni "Vrsta vsebine: besedilo / html \ n \ n";
natisniti <Preprost CGI Perl Preprost CGI Perl
$ theTime
HTML
izhod;
Ta novi skript CGI bo ob vpoklicu skripta vstavil trenutni datum na stran. Z drugimi besedami, postane a dinamičen dokument, ki se spremeni kot datum, namesto a statična dokument.