my ($type,$num) = $nodeloc =~ /^([aAeEsS])(\d{1,2})$/; if (defined $type and defined $num) { $type = uc $type; $num = sprintf q[%02d], $num; my %map = ( A=>['apo', 'Apocalypse'], E=>['exo', 'Exogesis'], S=>['syn', 'Synopsis'] ); $title ||=$map{$type}[1] . ' ' . $num; return qq[$title]; } else { return qq([$prefix://$nodeloc]) } }