poem
atcroft
<p>This was inspired as a solution to both the (at the time) current [id://320300|poll topic] and to a conversation regarding cold winter weather in the CB this (local) morning, involving [sporty], [castaway], [katgirl], myself, and others (to whom I owe thanks for the inspiration-especially [castaway] for reminding me about needing to get supplies ahead of time).
<code>
my $setting = $apt;
if ($outside->temperature <= $chilly) {
$setting += $Heating;
$setting += $Blanket;
}
$setting += $Bar if ($Bar->likeOccasionalDrink);
$lover->invite();
if ($lover->arrives()) {
$setting += $lover;
if ($outside->temperature <= $chilly) {
$cares->who = 'not me';
}
lover->snuggleWith();
while ($evening or $night or $morning or $goodtime) {
$lover->hold("Close");
$lover->let_go = "never";
}
}
BEGIN {
use vars qw($have_music);
eval { require Lover; };
warn "What's the point?\n" if ($@);
use Bar;
use Fridge;
use Heating;
use Heating::Blankets;
eval { use Music; };
my $have_music = ( $@ ? 1 : 0 );
my $Heating = Heating->current();
my $Blanket = Heating::Blanket->current();
my $Fridge = Fridge->current();
my $Bar = Bar->current();
if ($have_music) {
my $Music = Music->current();
}
my $lover = Lover->current();
$Heating->getFuel() if (($Heating->checkFuelLevel()) and
($Heating->type ne $Heating->Electric));
if (($Fridge->checkFrigeForContents() < $Fridge->Normal) or
(($Bar->likeOccasionalDrink) and
($Bar->checkBarForContents() < $Bar->Normal)) or
($Music->selection ne 'Appropriate') or
($Blanket->checkCount < $Blanket->Enough)) {
wrapUpWarm();
goShopping();
}
doLaundry() if ($Blanket->status ne 'Clean');
}
</code>
<p><em>(And yes, there may be a warning of a bareword in the code, but it might be preferred that way-that would be between you and them. And the idea was mainly to take one's mind off the weather.... ;)</em>