Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Re: (tye)Re: $obj-DESTROY isn't called upon

by Sinister (Friar)
on Jan 31, 2002 at 17:09 UTC ( [id://142454]=note: print w/replies, xml ) Need Help??


in reply to (tye)Re: $obj-DESTROY isn't called upon
in thread $obj-DESTROY isn't called upon

>Um, all instances of perl under Unix are instantiated
>using exec(). DESTROY doesn't get called if you script
>goes away because of a successful exec. How perl was
>started doesn't matter.
That is not completely true. If you'd do `exec perl -e 'print "hello world\"'` on your shell, then the shell will be thrown away and be replaced with the perl interpreter. It wont return either...

Sinister greetings.
"With tying hashes you can do everything God and Larry have forbidden" -- Johan Vromans - YAPC::Europe 2001
perldoc -q $_

Replies are listed 'Best First'.
(tye)Re2: $obj-DESTROY isn't called upon
by tye (Sage) on Jan 31, 2002 at 17:14 UTC

    But that doesn't change whether DESTROY is called:

    $ perl -e "sub DESTROY{warn'dead'}\$x=bless{};" dead during global destruction. $ exec perl -e "sub DESTROY{warn'dead'}\$x=bless{};" dead during global destruction.

    BTW, in both of the cases above, perl is launched by using exec() [the subroutine from the C run-time library that wraps the kernel hook (or "system call")]. The difference is that the shell's "exec" command avoids the fork() before the exec().

            - tye (but my friends call me "Tye")

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://142454]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others goofing around in the Monastery: (5)
As of 2024-03-29 11:36 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found