#!/usr/local/bin/perl -w use CGI ":cgi"; use CGI::Carp "fatalsToBrowser"; @first = qw(Temporary Intermittant Partial Redundant Total Multiplexed Inherent Duplicated Dual-Homed Synchronous Bidirectional Serial Asynchronous Multiple Replicated Non-Replicated Unregistered Non-Specific Generic Migrated Localised Resignalled Dereferenced Nullified Aborted Serious Minor Major Extraneous Illegal Insufficient Viral Unsupported Outmoded Legacy Permanent Invalid Deprecated Virtual Unreportable Undetermined Undiagnosable Unfiltered Static Dynamic Delayed Immediate Nonfatal Fatal Non-Valid Unvalidated Non-Static Unreplicatable Non-Serious); @second = qw(Array Systems Hardware Software Firmware Backplane Logic-Subsystem Integrity Subsystem Memory Comms Integrity Checksum Protocol Parity Bus Timing Synchronisation Topology Transmission Reception Stack Framing Code Programming Peripheral Environmental Loading Operation Parameter Syntax Initialisation Execution Resource Encryption Decryption File Precondition Authentication Paging Swapfile Service Gateway Request Proxy Media Registry Configuration Metadata Streaming Retrieval Installation Library Handler ); @third = qw(Interruption Destabilisation Destruction Desynchronisation Failure Dereferencing Overflow Underflow NMI Interrupt Corruption Anomoly Seizure Override Reclock Rejection Invalidation Halt Exhaustion Infection Incompatibility Timeout Termination Unavailability Bug Condition Crash Dump Crashdump Stackdump Problem Lockout); @fourth = qw(Error Problem Warning Signal Flag); print "Content-type: text/html\n\n"; print < BOFH Excuse Generator

BOFH Excuse Generator.

EOT if (!param()) { print <Click refresh to see more advice!

EOT if (rand(6) > 1) { print "" . $first[rand(@first)] . " " . $second[rand(@second)] . " " . $third[rand(@third)] . ".\n"; } else { print "" . $first[rand(@first)] . " " . $third[rand(@third)] . " " . $third[rand(@third)] . " " . $fourth[rand(@fourth)] . ".\n"; } print <



EOT } elsif (param('list')) { print <List of words used to generate advice:

first
EOT for($i=0; $i<@first; $i++) { print "$first[$i]
\n"; } print <
secondectives
EOT for($i=0; $i<@second; $i++) { print "$second[$i]
\n"; } print <
third
EOT for($i=0; $i<@third; $i++) { print "$third[$i]
\n"; } print <
fourth
EOT for($i=0; $i<@fourth; $i++) { print "$fourth[$i]
\n"; } $first = @first; $second = @second; $third = @third; $fourth = @fourth; print <
Total: $first Total: $second Total: $third Total: $fourth
EOT } elsif (param('combo')) { $total = (@first*@second*@third)+(@first*@third*@second*@fourth); print <All possible combinations total $total.

EOT for($i=0; $i<@first; $i++) { for($j=0; $j<@second; $j++) { for($k=0; $k<@third; $k++) { print "$first[$i] $second[$j] $third[$k]
\n"; } } } for($i=0; $i<@first; $i++) { for($j=0; $j<@second; $j++) { for($k=0; $k<@third; $k++) { for($l=0; $l<@fourth; $l++) { print "$first[$i] $second[$j] $third[$k] $fourth[$l]
\n"; } } } } print <
EOT } print <Copyright 2001 TheDarkCitadel

Derived From Mr_Person's Advice Generator

EOT