10 my ($name, $rest) = split /:/;
11 $names{$name} = $rest;
12 $vals{$name} = 0+$rest if $rest =~ /\A\s*\d+\z/;
15 while (!defined $vals{root}) {
16 for my $n (keys %names) {
17 next if defined $vals{$n};
20 for my $v (keys %vals) {
21 $e =~ s/$v/$vals{$v}/g;
23 next if $e =~ /[a-z]/;
25 eval "\$vals{$n} = $e";
26 say "set \$vals{$n} to $vals{$n}" unless $@;
28 say " ================= ";