#!/usr/bin/perl -w require 5; use strict; use vars qw($taste %boiling); my @insults = ('hack','blech','blort','yeuch'); eval { require Starbucks::Frappuccino } and print("Sluuurp") and exit or warn("You haven't got a Starbucks???") and eval { require Penguin::Mints } and print("Munch Munch") and exit or warn("Argh, I need caffeine!") and eval { Kitchen::Fridge->content('drinks') =~ /coke/ } and print("Sluurp") and exit or warn("There's no cold coke, dammit :-(") and eval { Kitchen::Cupboard->content('jars') =~ /coffee/ } and make_coffee( Kitchen::Cupboard->content('jars') ) and exit or warn("No coffee, what the hell?"); sleep( (4 + rand(15)) * 3600) unless die (); sub make_coffee($){ my $jar = shift; my $coffee = grep { /paper/ } ($jar, $boiling{'water'}); print("Sluuurp"); eval { $taste } or study $jar; if ($jar =~ /instant/) { warn($insults[rand @insults]); warn('This coffee sucks :-('); } else { print "Mmmmm..... coffee...." } }