CGI-skripti voi olla niin yksinkertainen tai monimutkainen kuin tarvitset. Se voi olla Perlissa, Jaava, Python tai mikä tahansa ohjelmointikieli. Ytimessä CGI-sovellus yksinkertaisesti ottaa pyynnön HTTP: n (yleensä selaimen) kautta ja palauttaa HTML: n. Katsotaanpa yksinkertaista Perlia Hei maailma CGI-skripti ja hajottaa sen yksinkertaisimpiin muotoihin.
'Hello World' CGI Perl -käsikirjoitus
#! / Usr / bin / perl
tulosta "Sisältötyyppi: teksti / html \ n \ n";
tulosta <Yksinkertainen Perl CGI Yksinkertainen Perl CGI
Hei maailma
HTML
poistua;
Jos suoritat ohjelman komentorivillä, huomaat, että se suorittaa juuri sen, mitä odotit. Ensinnäkin se tulostaa Sisältötyyppi sitten tulostaa raa'an HTML-koodin. Jotta se näkyy toiminnassa verkkoselaimessa, sinun on kopioitava tai ladattava skripti verkkopalvelimellesi ja varmistettava, että käyttöoikeudet on asetettu oikein (chmod 755 * nix-järjestelmissä). Kun olet asettanut sen oikein, sinun pitäisi pystyä selaamaan sitä ja näkemään palvelimellasi näytetty sivu.
Avainrivi on ensimmäinen tulostuslausunto:
tulosta "Sisältötyyppi: teksti / html \ n \ n";
Tämä kertoo selaimelle, että asiakirja tulee näiden kahden jälkeen rivinvaihdot tulee olemaan HTML. Sinä on pakko lähetä otsikko, jotta selain tietää, minkä tyyppinen asiakirja tulee seuraavaksi, ja sinun on lisättävä tyhjä rivi otsikon ja todellisen asiakirjan väliin.
Kun otsikko on lähetetty, on kyse vain itse HTML-asiakirjan lähettämisestä. Yllä olevassa esimerkissä käytämme here-doc-dokumenttia yksinkertaistamaan suuren osan tekstiä tulostamista. Tietysti tämä ei oikeastaan eroa kuin se, että palvelimellasi on istu HTML-dokumentti. Ohjelmointikielen, kuten Perlin, käyttäminen todellinen voima HTML-koodin luomiseen tulee, kun lisäät hienoja Perl-ohjelmointeja.
Lisäys peruskomentosarjaan
Otetaan seuraava osa esimerkistä aika- ja päiväyskäsikirjoitus ja lisää se verkkosivullesi.
#! / Usr / bin / perl
@months = qw (tammi helmikuu maaliskuuta huhtikuuta touko kesäkuuta heinäkuuta elokuuta syyskuuta lokakuuta marraskuun joulukuuta);
@weekDays = qw (su ma ti ke to to pe la su su);
($ sekunti, $ minuutti, $ tunti, $ dayOfMonth, $ kuukausi, $ yearOffset, $ dayOfWeek, $ dayOfYear, $ daylightSavings) = paikallisaika ();
$ vuosi = 1900 + $ yearOffset;
$ theTime = "$ weekDays [$ dayOfWeek] $ kuukautta [$ kuukausi] $ dayOfMonth, $ vuosi";
tulosta "Sisältötyyppi: teksti / html \ n \ n";
tulosta <Yksinkertainen Perl CGI Yksinkertainen Perl CGI
$ thetime
HTML
poistua;
Tämä uusi CGI-skripti lisää nykyisen päivämäärän sivulle joka kerta, kun skriptiä kutsutaan. Toisin sanoen siitä tulee dynaaminen asiakirja, joka muuttuu päivämäärän muuttuessa eikä a staattinen asiakirja.