/ Forside / Teknologi / Udvikling / Perl / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Perl
#NavnPoint
bjarneA 141
poul_from 50
soccer 30
Nicknack 14
Tmpj 0
Mine die og warn er blevet overskrevet af ~
Fra : Morten Guldager


Dato : 13-09-06 14:04

Hejsa,

SOAP::Lite har overskrevet mine (perls) die og warn funktioner.

Hvordan får jeg dem tilbage? (eller skal jeg virkelig skrive mig et par nye?)


/Morten

 
 
Peter Makholm (13-09-2006)
Kommentar
Fra : Peter Makholm


Dato : 13-09-06 14:43

Morten Guldager <Morten.Guldager@gmail.com> writes:

> SOAP::Lite har overskrevet mine (perls) die og warn funktioner.
>
> Hvordan får jeg dem tilbage? (eller skal jeg virkelig skrive mig et par nye?)

Uprøvet:

use SOAP::Lite;

sub die {
CORE::die @_;
}


--
http://peter.makholm.net/ | I congratulate you. Happy goldfish bowl to
peter@makholm.net | you, to me, to everyone, and may each of you
| fry in hell forever
| -- The Dead Past

Morten Guldager (13-09-2006)
Kommentar
Fra : Morten Guldager


Dato : 13-09-06 17:02

2006-09-13 Peter Makholm wrote
> Morten Guldager <Morten.Guldager@gmail.com> writes:
>
>> SOAP::Lite har overskrevet mine (perls) die og warn funktioner.
>>
>> Hvordan får jeg dem tilbage? (eller skal jeg virkelig skrive mig et par nye?)
>
> Uprøvet:
>
> use SOAP::Lite;
>
> sub die {
> CORE::die @_;
> }

Hmm, duer ikke.

Adressen på die og CODE::die er den samme efter SOAP::Lite
har været på spil. Set sådan her:

my $adresse= \&CORE::die;
warn "adresse = $adresse\n";

Adressen på die _før_ jeg aktiverer SOAP::Lite er en anden.
Mon jeg bare kan rette en pointer tilbage, så på den måde få
den gamle die igen? (hvordan gør jeg så lige det?)


/Morten

Peter Makholm (13-09-2006)
Kommentar
Fra : Peter Makholm


Dato : 13-09-06 20:38

Morten Guldager <Morten.Guldager@gmail.com> writes:

> Adressen på die _før_ jeg aktiverer SOAP::Lite er en anden.
> Mon jeg bare kan rette en pointer tilbage, så på den måde få
> den gamle die igen? (hvordan gør jeg så lige det?)

perldoc perlsub:

To unambiguously refer to the built-in form, precede the built-in name
with the special package qualifier "CORE::". For example, saying
"CORE:en()" always refers to the built-in "open()", even if the cur-
rent package has imported some other subroutine called "&open()" from
elsewhere. Even though it looks like a regular function call, it
isn't: you can't take a reference to it, such as the incorrect
"\&CORE:en" might appear to produce.

Så det er helt forventeligt.

--
http://peter.makholm.net/ | Perhaps that late-night surfing is not such a
peter@makholm.net | waste of time after all: it is just the web
| dreaming
| -- Tim Berners-Lee

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408914
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste