while ( ) { my ( $emp) = m{(\d+)} or warn "No in line $.\n", next; push @emp_lst, $emp unless $prod{ $emp}; push @{ $prod{ $emp} }, m{([.\d]+)}; }