#!/usr/bin/perl package Quest; sub new { bless { type => "seek grail", who => "arthur and his knights" }; } sub go_at_it { goto CASTLE; CASTLE: my $obstacle = new French (accent => "outrageous"); $obstacle->greet("Hello"); $obstacle->confess("I am King Arthur"); $obstacle->offer("join our quest") if $obstacle->request("shelter" +); $obstacle->open(CASTLE) && seek($obstacle->{master}{grail}); $obstacle->query("why",&Scalar::Util:blessed($obstacle),"in englan +d?"); if ($! =~ /cow/){ die "Run away!" }; } sub MYOB { threaten(caller()); } package French; sub new { my $pkg = shift; bless { @_ }, $pkg; } sub greet { return "'Allo. Whoo is eet?"; } sub confess { my $self = shift; $self->{master} = "Guy de Loimbard"; return $self->{master}; } sub offer { my $grail = new Acme::Pretence::Grail; tell $others, { $self->tell(caller(),$self->{master}{grail} == 1) +}; return "He's already got one, you see?"; } sub open { if caller() eq 'english' return caller() = 'pig'; } sub query { caller()->MYOB(); } sub threaten { caller != frightening && caller == pig-dog; # must make bigint type + thing to substact dogs from pigs and stuff close(caller()->{socket}), delete(caller()->{head}); kill FART => caller()->pid(); goto &Acolyte::Taunt; }
In reply to Re: Taunt
by nothingmuch
in thread Taunt
by Acolyte
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |