my %symtab; while () { chomp; if (/^(\w+)\|(\d+)$/) { $symtab{$1} = $2; } else { # Error } } print($symtab{A} + $symtab{B}, $/); print($symtab{A} + $symtab{B} + $symtab{C}, $/); print($symtab{C} + $symtab{A} + $symtab{D}, $/);