sub process_info{ my ($temp, $year, $info); do {($token = $stream->get_token)} until $token->[0] eq "C" and $token->[1] =~ /1958/; while($token = $stream->get_token) { if ($token->[0] eq "S" and ${$token->[2]}{year}){ $year = ${$token->[2]}{year} } if ($token->[0] eq "S"){ if (${$token->[2]}{id}){ $temp = &get_token("td"); my @names = split(" ",$temp); $info->{last} = pop(@names); $info->{first} = join( " ", @names ); $temp = &get_token("td"); if ($temp eq " "){ $info->{addr} = ''; } else{ $info->{addr} = $temp; } $temp = &get_token("br"); if ($temp eq " "){ ($info->{city}, $info->{state}, $info->{zip}) = ('', '', ''); } else{ my $t2; ($info->{city}, $t2) = split(', ',$temp); ($info->{state},$t2) = split(" ",$t2); $t2 =~ s/\s+//; $info->{zip} = $t2; } $temp = &get_token("td"); if ($temp eq " "){ $info->{phone} = ''; } else{ $info->{phone} = $temp; } $temp = &get_token("a"); if ($temp eq " "){ $info->{email} = ''; } else{ $info->{email} = $temp; } push( @{$bros->{$year}}, $info); $info = {}; # reset $info hash } # end ${$token->[2]}{id} } # end $token->[0] eq "S" } # end while } # end sub