Ahoj světový skript CGI v Perlu

Skript CGI může být tak jednoduchý nebo složitý, jak potřebujete. Mohlo by to být v Perlu, Jáva, Python nebo jiné programovací jazyk. Ve své podstatě aplikace CGI jednoduše přijímá požadavek přes HTTP (obvykle webový prohlížeč) a vrací HTML. Podívejme se na jednoduchý Perl Ahoj světe CGI skript a rozdělte jej na nejjednodušší formy.

"Ahoj svět" CGI Perl Script

 #! / usr / bin / perl
print "Typ obsahu: text / html \ n \ n";
tisk <

Jednoduchý Perl CGI


Jednoduchý Perl CGI


Ahoj světe



HTML
výstup;

Pokud spustíte program na příkazovém řádku, uvidíte, že dělá přesně to, co jste očekávali. Nejprve vytiskne Typ obsahu řádek, potom vytiskne surový HTML. Abyste ji mohli ve webovém prohlížeči vidět v akci, musíte zkopírovat nebo nahrát skript na svůj webový server a ujistit se, že oprávnění jsou nastavena správně (chmod 755 v systémech * nix). Jakmile je nastavíte správně, měli byste mít možnost k němu přejít a zobrazit stránku zobrazenou na serveru naživo.

Klíčovým řádkem je první příkaz k tisku:

 print "Typ obsahu: text / html \ n \ n"; 

To říká prohlížeči, že dokument přichází po dvou nové řádky bude HTML. Vy musí odešlete záhlaví, aby prohlížeč věděl, jaký typ dokumentu se blíží, a mezi záhlaví a skutečný dokument musíte vložit prázdný řádek.

Jakmile je záhlaví odesláno, jde pouze o odeslání samotného dokumentu HTML. Ve výše uvedeném příkladu používáme dokument here-doc ke zjednodušení tisku velkého kusu prostého textu. To samozřejmě není nic jiného než mít obyčejný HTML dokument sedící na vašem serveru. Skutečná síla použití programovacího jazyka, jako je Perl, k vytvoření HTML, přichází, když přidáte nějaké fantastické programování Perl.

Přidání do základního skriptu

V dalším příkladu se toho zúčastníme skript času a data a přidejte jej na svou webovou stránku.

 #! / usr / bin / perl
@months = qw (Jan Únor Březen Duben Červen Červen Červenec Srpen Září Říjen Listopad Prosinec);
@weekDays = qw (neděle Po Út St Čt Pá So Ne);
($ second, $ minute, $ hour, $ dayOfMonth, $ month, $ yearOffset, $ dayOfWeek, $ dayOfYear, $ daylightSavings) = localtime ();
$ year = 1900 + $ yearOffset;
$ theTime = "$ weekDays [$ dayOfWeek] $ month [$ month] $ dayOfMonth, $ year";
print "Typ obsahu: text / html \ n \ n";
tisk <

Jednoduchý Perl CGI


Jednoduchý Perl CGI


$ theTime



HTML
výstup;

Tento nový skript CGI vloží aktuální datum na stránku při každém vyvolání skriptu. Jinými slovy, stává se dynamický dokument, který se mění se změnou data, spíše než a statický dokument.