Surely you meant:sub new { my ($class, $self) = @_; unless (&work($self) || &sleep($self)) { $self->smoke; $self->cancer_probablity += rand(0.001); } bless ($self, undef); }
This reads better to me:sub new { my ($class, $self) = @_; unless ($self->work() || $self->sleep()) { $self->smoke; $self->cancer_probablity += rand(0.001); } bless ($self, undef); }
My auto-biography in perl poetry would be a lot longer:
package Jarich; use strict; sub new { my ($class) = @_; bless ({}, $class); } sub freeload { my @needs = qw/money clothes shoes money books computers games bedding sleep time food/; print "Mum/Dad I need more ", $needs[rand(@needs)], "\n"; } sub annoy_parents { my @actions = ("hit sister", "kick dog", "whine", "whine", "whine", "need more", "beg", "borrow", "steal", "go out with a dag"); print $actions[rand(@actions)], "\n"; print $actions[rand(@actions)], "\n"; } sub live { my $self = shift; my @actions = ("drink", "cycle", "play", "paint", "eat"); # fun stuff on weekends. if(rand(7) <= 2) { print $actions[rand(@actions)], " "; $self->{cancer_probablity} += rand(0.0001); } else { $self->work(); } $self->sleep(); } sub work { print "bored bored bored bored bored: ke-ching! Money++"; } sub sleep { print "ZZZZZzzzzzzzzzzzzzzzzzzz\n"; } sub die { my $self = shift; if(rand(100) < 2) { return 1; } elsif($self->{cancer_probability} > 100) { return 1; } return 0; } #======================================================== package Main; my $jarich = new Jarich; my $age = 0; until ($age++ > 18) { $jarich->freeload() && $jarich->annoy_parents(); } until ($jarich->die()) { $jarich->live(); $age++; } print "RIP jarich. 1978-", 1978+$age, "\n";
jarich
In reply to Re: Time to buy some pills
by jarich
in thread Time to buy some pills
by smitz
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |