#!/usr/bin/perl use strict; use warnings; my $beholder_default = 'beholder'; my $param = get_param(); my @keys = ( 'beholder', 'deathkiss', 'eye of the deep', 'gauth', 'spectator', 'undead', 'hive mother', 'director', 'examiner', 'lensman', 'watcher' ); my %lookup = ( 'beholder' => { book => 'Monstrous Manual', beholder => 'beholder', page => 21, }, 'death kiss' => { book => 'Monstrous Manual', beholder => 'beholder', page => 21, }, 'eye of the deep' => { book => 'Monstrous Manual', beholder => 'beholder', page => 21, }, 'gauth' => { book => 'Monstrous Manual', beholder => 'beholder', page => 21, }, 'spectator' => { book => 'Monstrous Manual', beholder => 'beholder', page => 21, }, 'undead' => { book => 'Monstrous Manual', beholder => 'beholder', page => 21, }, 'hive mother' => { book => 'Monstrous Manual', beholder => 'beholder', page => 21, }, 'director' => { book => 'Monstrous Manual', beholder => 'beholder', page => 21, }, 'examiner' => { book => 'Monstrous Manual', beholder => 'beholder', page => 21, }, 'lensman' => { book => 'Monstrous Manual', beholder => 'beholder', page => 25, }, 'overseer' => { book => 'Monstrous Manual', beholder => 'beholder', page => 25, }, 'watcher' => { book => 'Monstrous Manual', beholder => 'beholder', page => 25, }, ); my $key; if ($param){ $key = $beholder_default; } else{ $key = $keys[rand @keys]; } my $beholder = $lookup{$key}{beholder}; my $book = $lookup{$key}{book}; my $page = $lookup{$key}{page}; print "beholder: $beholder\n"; print "book: $book\n"; print "page: $page\n"; sub get_param { # get your input from somewhere my $param = undef; return $param; }