in reply to Config File Processing

And the first attempt at solving the problem is "roll your own!" ... which is usually a bad idea. While your code works, should i really use it? Wouldn't i be better off using an existing Config module instead? I think so.
use Tie::IxHash; use Config::General; tie my %conf, 'Tie::IxHash'; %conf = ParseConfig(\*DATA); for (keys %conf) { my $output = eval "$conf{$_}"; print "$_: ", $@ ? "$conf{$_} - $@\n" : "$output\n"; }
While it doesn't work completely, this shows that it is very easy to make Config::General do what you want. "Out of the box", it parsed all of your config file.

jeffa

L-LL-L--L-LL-L--L-LL-L--
-R--R-RR-R--R-RR-R--R-RR
B--B--B--B--B--B--B--B--
H---H---H---H---H---H---
(the triplet paradiddle with high-hat)