http://qs321.pair.com?node_id=11120047

Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

I have a package car. What i need is a variable that counts the number of objects derived from this class. Say i have a car rental company and want to keep track of the number of cars being rented, each time a car object is being created means 1 car has been rented. I have been looking on the internet but can't find anything. How can i do this(if possible at all)? Here is the car.pm file:

use strict; use warnings; package car; sub new { my $class = shift; my $self = { name => shift, price => shift, speed => 0 }; print "Object car being created:\n"; print "Name: $self->{name}\n"; print "price: $self->{price}\n\n"; bless $self, $class; return $self; } sub speed_up{ my $self = shift; my $acc = shift; $self->{speed} += $acc; return $self->{speed}; } sub slow_down{ my $self = shift; my $acc = shift; $self->{speed} -= $acc; return $self->{speed}; } 1;

Here is an example of a belonging .pl file:

use strict; use warnings; use car; my $speed; my $auto = new car("Opel Vectra",50000); $speed = $auto->speed_up(25); print "Speed is: $speed km\n"; $speed = $auto->speed_up(10); print "Speed is: $speed km\n"; $speed = $auto->slow_down(20); print "Speed is: $speed km\n";