Perl/www pristup k prommenym prostredi

Honza Pazdziora adelton na informatics.muni.cz
Čtvrtek Duben 17 18:14:00 CEST 1997


> Zdravim,
>  nevite nekdo, jak muze perl cist promenne prostredi ?
> Typicky priklad :
> na www mam nejakou stranku volajici Perlovy skript a me zajima promenna
> $REMOTE_ADDR.
> Pokud je skript napsany v shellu, tak nemam problem, ale kdyz zkusim v
> perlu testovat $REMOTE_ADDR tak mi rekne, ze tato promenne je prazdna :-(((
> Pustit z perlu sh taky nejde, nebot perl nepreda zadne promenne - za
> zoufalstvi jsem zkousel 
> system "echo $REMOTE_ADDR"; ale opet bez uspechu ....

Promenne prostredi jsou dostupne pres hash %ENV, v nasem pripade tedy
$ENV{'REMOTE_ADDR'}. Je samozrejme rozdil mezi $ENV{'REMOTE_ADDR'}
a $REMOTE_ADDR. Muzete taky udelat $REMOTE_ADDR = $ENV{'REMOTE_ADDR'};
a pak testovat ten skalar.

Nemate pravdu v tom, ze Perl nepredava promenno, akorat to musite
spravne napsat. Prikaz system "echo $REMOTE_ADDR"; udelat to, ze uvnitr
tech uvozovek rozexpanduje hodnoty promennych, cili vysledek je "echo "
a to se pak spusti. Takze je nutne to zapsat jako
system 'echo $REMOTE_ADDR';

Protoze je mi ale naprosto jasne, na co tak clovek muze chtit obsah
promenne $REMOTE_ADDR, doporucuji velmi pouzit jeden z CGI* modulu.
Najdete je na CPANu -- na sunsite v Praze nebo na
ftp://ftp.fi.muni.cz/pub/cpan. Je tam samozrejme i podrobny manual,
pripadne se muzete podivat na perlovskou domovskou stranku,
http://www.per.com/perl/. A nebo muzu nabidnout svoje texty o Perlu,
ktere se o CGI a Webu v Perlu take zminuji,
http://www.fi.muni.cz/~adelton/perl/.

Pekny den.

------------------------------------------------------------------------
 Honza Pazdziora | adelton na fi.muni.cz | http://www.fi.muni.cz/~adelton/
                   I can take or leave it if I please
------------------------------------------------------------------------


Další informace o konferenci Linux