Problemy s require

Honza Pazdziora adelton na informatics.muni.cz
Středa Srpen 25 23:16:23 MEST 1999


On Thu, Aug 19, 1999 at 09:43:36AM +0200, Michal Pise wrote:
> > Jinac to co tvrdite je blbost. Perl preklada hlavni soubor, kdyz narazi na
> > require, prelozi require. Ale protoze jde o volani do jineho modulu, tak to
> > samozrejme je nutne delat se zavorkami - require je starsi nez Perl 5. Aby
> > se toto odstranilo, existuje to use jmeno.
> 
> Dobre, mate pravdu, ale ja to netvrdil, ja se spise ptal. Je ale zajimave,
> ze uzavreni require do BEGIN potrebu zavorek odstrani.

Protoze (RTFM perlsub) BEGIN funkce se provadeji jiz v dobe prekladu.
Tedy provedeni (jakoze fakt provedeni, nikoli jenom kompilace)
probehne jeste predtim, nez se vubec parser podiva na radek, kde tu
funkci volate.

> > Pokud byste jako spravny Perlista zacinal:
> > 
> > #! /usr/bin/perl -w
> > 
> > use strict;
> > 
> > tak by vam to prekladac rekl sam.
> 
> Podle me use strict v tomto pripade zpusobi, ze se warning promeni ve
> fatalni chybu a prekladac rekne neco jako bareword not allowed...
> Jinak v situaci, kdy vam vas nadrizeny vyklada, ze prepinac -w je nanic,
> protoze jen produkuje spoustu zbytecnych warningu asi use strict
> neobhajite.

Motate use strict a -w -- jedno je compile-time vec, druhe je run-time
vec. Jsou vzajemne nezavisle.

Ano, pokud Vasemu nadrizenemu jde o to, aby ty skripty bezely
o trosicku rychleji, nepouzivejte -w. Pokud mu jde o to, aby bezely
i pote, az do nich po pul roce Vy nebo nekdo udela na prvni pohled
trivialni zmenu, tak bude vyzadovat, aby ty skripty byly -w clean,
kdyz uz se v produkcnim prostredi s -w nebudou poustet.

------------------------------------------------------------------------
 Honza Pazdziora | adelton na fi.muni.cz | http://www.fi.muni.cz/~adelton/
 make vmlinux.exe			-- SGI Visual Workstation Howto
 I just got back from my vacation -- sorry for possibly delayed answer.


Další informace o konferenci Perl