Here is the hash as I would like it with the "default" book as a scalar, and used in the hash. I hope that works.
my $MM = "Monstrous Manual"
my %monster_lookup = (
'beholder' => {
book => $MM,
beholder => 1,
page => 21,
},
'death kiss' => {
book => $MM,
beholder => 0,
page => 21,
},
'eye of the deep' => {
book => $MM,
beholder => 0,
page => 21,
},
'gauth' => {
book => $MM,
beholder => 0,
page => 21,
},
'spectator' => {
book => $MM,
beholder => 0,
page => 21,
},
'undead' => {
book => $MM,
beholder => 0,
page => 21,
},
'hive mother' => {
book => $MM,
beholder => 0,
page => 25,
},
'director' => {
book => $MM,
beholder => 0,
page => 25,
},
'examiner' => {
book => $MM,
beholder => 0,
page => 25,
},
'lensman' => {
book => $MM,
beholder => 0,
page => 25,
},
'overseer' => {
book => $MM,
beholder => 0,
page => 25,
},
'watcher' => {
book => $MM,
beholder => 0,
page => 25,
},
);
Would Perl be okay with the following?
my $MM = "Monstrous Manual"
my %monster_lookup = (
'beholder' => {book => $MM,beholder => 1,page => 21,},
'death kiss' => {book => $MM,beholder => 0,page => 21,},
'eye of the deep' => {book => $MM,beholder => 0,page => 21,},
'gauth' => {book => $MM,beholder => 0,page => 21,},
'spectator' => {book => $MM,beholder => 0,page => 21,},
'undead' => {book => $MM,beholder => 0,page => 21,},
'hive mother' => {book => $MM,beholder => 0,page => 25,},
'director' => {book => $MM,beholder => 0,page => 25,},
'examiner' => {book => $MM,beholder => 0,page => 25,},
'lensman' => {book => $MM,beholder => 0,page => 25,},
'overseer' => {book => $MM,beholder => 0,page => 25,},
'watcher' => {book => $MM,beholder => 0,page => 25,},
);
What I really want with the book key is that if it is empty, then the default book, else what is in the book in the key.
The argument between using package or lexical variables can continue at a later time.
Corrections:
- quoting
- hash item without keys.
- copy/paste errors
Update
- 2nd bit of code without the whitespace
|