{ package Class; use strict; use warnings; use Scalar::Util qw(weaken); my @objects; sub new { my ( $class ) = @_; # Objekt erstellen my $self = bless {}, $class; # zum array hinzufügen push @objects, $self; # Wert weaken weaken( $objects[-1] ); # Object zurück geben return $self; } sub count { my ( $self ) = @_; return scalar @objects; } } printf "Anzahl: %d\n", Class::count; my $new1 = Class->new; my $new2 = Class->new; printf "Anzahl: %d\n", $new1->count; { my $new3 = Class->new; printf "Anzahl: %d\n", $new3->count; } printf "Anzahl: %d\n", $new1->count;