Jemand zu Hause?Leser: 21
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
{ package Error; use strict; use warnings; sub new { bless {}, $_[0] } sub DESTROY { warn "NEIN!\n"; die { error => "NEEEEEEEEEEEIN!" }; warn "NEIN2!\n"; } } { my $error = Error->new(); print "ja\n"; } print "Dürfte nie erscheinen!\n"; if ( $@ ) { print $@->{error}, "\n"; }
perlobj
Wie frage ich & perlintro
brian's Leitfaden für jedes Perl-Problem2009-05-29T07:11:45 pqDESTROY wird nicht unbedingt sofort nach ende des scopes aufgerufen. sieheperlobj
2009-05-29T07:11:45 pqDESTROY wird nicht unbedingt sofort nach ende des scopes aufgerufen. sieheperlobj
IPC::System::Simple,
Path::Class1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
use strict; use warnings; use Carp qw(cluck); sub new { return bless{}; } DESTROY { cluck 'cluck'; } sub foo { my $x = main->new; print "before\n"; undef $x; print "after\n"; } foo();
1
2
3
4
5
6
before
cluck at x.pl line 10
main::DESTROY('main=HASH(0x8c383cc)') called at x.pl line 17
eval {...} called at x.pl line 17
main::foo() called at x.pl line 20
after
IPC::System::Simple,
Path::Class