neco jako include

Honza Pazdziora adelton na informatics.muni.cz
Úterý Červenec 3 15:02:31 MEST 2001


On Sun, Jun 10, 2001 at 12:40:48PM +0200, Ondrej Koala Vacha wrote:
> On Sat, 9 Jun 2001, Milan Šorm wrote:
> 
> >
> > primo include neexistuje
> 
> skoda; nevrhl bych neco jako
> 
> use include *list*;
> 
> >
> > tedy:
> >
> > open INCLUDE,$file; $include = join '',<INCLUDE>; close INCLUDE; eval $include;
> >
> 
> Berme jako priklad, ze chci udelat include 'use strict;'
> pokud dam eval 'use strict' do bloku BEGIN {} pak nefunguje (ani bez toho
> eval), predpokladam ze proto, ze plati do konce bloku BEGIN.
> 
> Mimo blok se zase zpracuje az pri behu, a to je pozde :(
> 
> Takze si nezbyva prat a cekat na tu direktivu.

Neni mi uplne jasne, co presne by to melo delat, ale: pragmu strict je
mozno si vynutit manipulaci s $^H a tak ten priznak vyexportovat
i zevnitr bloku.

Presne rozdeleni na compile a runtime v Perlu v podstate neni. Provadi
se od zacatku kompilace s tim, ze jakmile se najde blok BEGIN (ci jeho
ekvivalent, tedy use), tak se dany blok provede a blok se zrusi.
Nasledne se pak provede vse, co zustalo. Cili jiz pri kompilaci se
spousteji male ci vetsi kusy kodu.

Hmmm. Co bylo cilem toho puvodniho dotazu?

-- 
------------------------------------------------------------------------
 Honza Pazdziora | adelton na fi.muni.cz | http://www.fi.muni.cz/~adelton/
   .project: Perl, DBI, Oracle, MySQL, auth. WWW servers, DBD::XBase.
Clearing mailbox after being off-line for a month, sorry for delayed replies.


Další informace o konferenci Perl