Vice packages v jednom souboru

Jan Kasprzak kas na fi.muni.cz
Úterý Březen 10 09:35:01 CET 2009


Honza Pazdziora wrote:
: On Wed, Mar 04, 2009 at 09:47:56PM +0100, Jan Kasprzak wrote:
: > 
: > 	Potreboval bych pouzit podobnou konstrukci (instance RPC::PlServer,
: > chci si usetrit "use lib ..." a nekolik pravidel pro SELinux, kde bych musel
: > popsat, ze v tomto adresari jsou take soubory, ktere dany demon ma pravo
: > nacitat), ale vadi mi, ze pouhe napsani "package Neco..." neprovede
: > inicializace: kdyz mam
: > 
: > [...]
: > package Neco;
: > 
: > our $PREFIX = '/my/dir/prefix';
: > 
: > tak ten $PREFIX neni nikdy nastaveny. A ted je otazka, jak zajistit,
: > abych mel takoveto package-lokalni promenne nastavene. BEGIN-blok?
: > 
: > 	Jak byste tohle resili?
: 
: Muzes upresnit, co delas a co se Ti nedari?

Zhruba tohle:

print $Neco::PREFIX, "\n";

package Neco;

our $PREFIX = '/my/dir/prefix';

Ja samozrejme vim proc to nefunguje, ale hledam _elegantni_ cestu k tomu,
aby to fungovalo. Elegantni myslim bez umisteni package do samostatneho
souboru a bez rozbijeni hlavniho programu na cast nad tim package
a pod nim (resp. spis s umistenim hlavniho programu na zacatek
nad ten package). Zatim jedine na co jsem prisel je umisteni te
inicializace do BEGIN-bloku. Ale treba to jde jeste nejak lepe.

-Y.

-- 
| Jan "Yenya" Kasprzak  <kas at {fi.muni.cz - work | yenya.net - private}> |
| GPG: ID 1024/D3498839      Fingerprint 0D99A7FB206605D7 8B35FCDE05B18A5E |
| http://www.fi.muni.cz/~kas/    Journal: http://www.fi.muni.cz/~kas/blog/ |
>>  If you find yourself arguing with Alan Cox, you’re _probably_ wrong.  <<
>>     --James Morris in "How and Why You Should Become a Kernel Hacker"  <<


Další informace o konferenci Perl