Bookmarks

Yahoo Gmail Google Facebook Delicious Twitter Reddit Stumpleupon Myspace Digg

Search queries

sqldatasource dal, wwwxxxenden, convert raid5 to raid 10 mdadm, apache force chunked, nrao wwwxxx, xxxxxdup, procmail change subject header, wwwXxx not20, Wwwxxx.doks sas, linux raid resync after reboot

Links

XODOX
Impressum

#1: dummy sub

Posted on 2008-04-10 10:17:48 by Frank Kulow

Hallo NG,

es kann vorkommen, dass dblog nicht ausführbar ist, die dort enthaltenen
subs werden aber gebraucht (wenn auch ohne Wirkung). Für den Fall habe
ich jetzt dbdummy.pm angelegt. Geht das auch ohne Extradatei?


#xy.pl
..
..
..
eval("require dblog");
if($@)#wenn das schief ging
{
print("dbtest wegen Fehler übergangen\n");
require dbdummy;
}
..
..
..

------------
#dbdummy.pm

sub logdb_ergebnis {}
sub logdb_test {}
sub logdb_kopf {}
1;

----------

Danke Frank

Report this message

#2: Re: dummy sub

Posted on 2008-04-10 10:20:55 by Frank Seitz

Frank Kulow wrote:
>
> Geht das auch ohne Extradatei?

*logdb_ergebnis = sub {};
....

GrüÃe
Frank
--
Dipl.-Inform. Frank Seitz; http://www.fseitz.de/
Anwendungen für Ihr Internet und Intranet
Tel: 04103/180301; Fax: -02; Industriestr. 31, 22880 Wedel

Report this message

#3: Re: dummy sub

Posted on 2008-04-12 09:23:08 by Ferry Bolhar

Frank Seitz:

> *logdb_ergebnis = sub {};

Da wird die Funktion - so der Code nicht in einem
BEGIN-Block steht - erst zur Laufzeit definiert. Das
kann auf den Compiliervorgang Einfluà haben.

Was spricht gegen ein einfaches

sub logdb_ergebnis {};

LG, Ferry
--

Report this message

#4: Re: dummy sub

Posted on 2008-04-12 09:26:32 by Frank Seitz

Ferry Bolhar wrote:
> Frank Seitz:
>>
>>*logdb_ergebnis = sub {};
>
> Da wird die Funktion - so der Code nicht in einem
> BEGIN-Block steht - erst zur Laufzeit definiert.

Genau das war die Absicht des OP.

> Das kann auf den Compiliervorgang Einfluà haben.

Welchen denn?

> Was spricht gegen ein einfaches
>
> sub logdb_ergebnis {};

Dagegen spricht, dass die Subroutine dann zweimal definiert ist.

GrüÃe
Frank
--
Dipl.-Inform. Frank Seitz; http://www.fseitz.de/
Anwendungen für Ihr Internet und Intranet
Tel: 04103/180301; Fax: -02; Industriestr. 31, 22880 Wedel

Report this message

#5: Re: dummy sub

Posted on 2008-04-12 19:21:17 by Ferry Bolhar

Frank Seitz:

>> Das kann auf den Compiliervorgang Einfluà haben.
>
> Welchen denn?

Naja, wenn man z.B.

$x = logdb_ergebnis;

schreibt, wird vom Parser unterschiedlicher Code generiert,
je nachdem, ob logdb_ergebnis bereits als Funktion deklariert
wurde oder noch nicht. OK, kommt hier, da alles erst zur Laufzeit
passiert, nicht wirklich zum Tragen, da hatte ich mich wohl etwas
verzettelt.

>> Was spricht gegen ein einfaches
>>
>> sub logdb_ergebnis {};
>
> Dagegen spricht, dass die Subroutine dann zweimal definiert ist.

Na gut, da habe ich mich unklar ausgedrückt. Ich meinte,
dass die Deklaration vor das "require" gehört. Geht das
"require" gut, wird die Dummy-Deklaration vom Code
in dblog.pm überschrieben. Ansonsten bleibt sie eben
bestehen.

Letztlich ist auch deine Typeglob-Zuweisung nichts anderes
als ein zur Laufzeit ausgeführtes "sub logdb_ergebnis", d.h.
eine zweite Definition.

Aber da tatsächlich alles erst zur Laufzeit passiert, ist die
Typeglob-Zuweisung wohl passender. Also wieder mal
1:0 für dich ;-).

LG, Ferry
--

Report this message

#6: Re: dummy sub

Posted on 2008-04-13 10:12:01 by Frank Seitz

Ferry Bolhar wrote:
>
> Na gut, da habe ich mich unklar ausgedrückt. Ich meinte,
> dass die Deklaration vor das "require" gehört. Geht das
> "require" gut, wird die Dummy-Deklaration vom Code
> in dblog.pm überschrieben. Ansonsten bleibt sie eben
> bestehen.

Sowas gibt aber unschöne Warnungen ("Subroutine redefined").

> Aber da tatsächlich alles erst zur Laufzeit passiert, ist die
> Typeglob-Zuweisung wohl passender. Also wieder mal
> 1:0 für dich ;-).

Ich habe wohl schon zu viel in Perl gemacht...

GrüÃe
Frank
--
Dipl.-Inform. Frank Seitz; http://www.fseitz.de/
Anwendungen für Ihr Internet und Intranet
Tel: 04103/180301; Fax: -02; Industriestr. 31, 22880 Wedel

Report this message