package Random; sub new { my $pkg = shift; my $self = [rand(2)-1]; bless $self,$pkg; return $self; } sub out { return(shift->[0]); } sub pulse { shift->[0] = rand(2)-1; } 'end Random';