#!/usr/bin/perl -w use strict; my $spell = hex('123'); my $you = "a garden of delight."; my $rituals = 10; my $plan = "I, the despoiler"; my @describe = reverse (qw ( seek meet tell alarm bless )); while ($rituals--) { if ($rituals < 5) { print cast($spell) => "$you\n"; } else { reset reverse ($plan, times); } } sub cast { foreach my $invocation (caller) { my $plan = join ' with me ', "#", $invocation, $you ; do { study $plan; eval "$plan"; $plan .= " here, unharmed."; }; } return "$plan, " . $describe[$rituals] . " you in "; }