use Time::Local; my $wife = {}; my $self = {}; my $kids = 3; my $time = time; flashback: { my $time = Time::Local(0,0,16,13,8,104); # Wife finds out something... $kids++; $wife->{knowledge}->{numkids}++; # Then tells me... $self->{knowledge}->{numkids} != $wife->{knowledge}->{numkids}; $self->{knowledge}->{numkids} = $wife->{knowledge}->{numkids}; # My emotions are all over the map... foreach (0..50) { $self->{$_}++ foreach (qw(shock joy anticipation fear)); } } pain: { my $time = Time::Local(0,0,9,15,8,104); # Then, wife starts feeling large amounts of pain... $wife->{pain}++ foreach (1..2); # On a scale of 1..10 $wife->{location} = 'doctor'; # ... we find out some potentially bad news (need # second opinion) ... $kids--; # ... and my emotions go numb ... $self->{$_} = 0 foreach (qw(shock joy anticipation fear)); $self->{numbness} = 1; # To deal, I start doing what needs doing... $self->{adrenaline} = 100; # ... get wife to where she needs to go ... $time += 60 * 60 * 3; $wife->{pain}++; $wife->{location} = $self->{location} = 'hospital'; # ... and confirm what we feared ... $wife->{knowledge}->{numkids}--; $self->{knowledge}->{numkids} = $wife->{knowledge}->{numkids}; # emotions release ... $wife->{tears} = 'flow'; $self->{tears} = 'flow'; $self->{sorrow} += 100; # ... and wife condition gets worse ... $time += 60 * 60 * 4; $wife->{pain}++ foreach (4..6); # ... surgery is necessary ... $time += 60 * 60 * .5; $wife->{location} = 'surgery'; # ... not only necessary, but urgent ... $wife->{blood}--; } # Now, things just go day by day. $time = time; $self->{tears} = (rand > .8) ? 'flow' : 'dry'; $wife->{tears} = (rand > .6) ? 'flow' : 'dry'; $self->{sorrow} = 25;