Ваше требование мне не очень понятно, но вот скрипт, который хранит вторые столбцы для каждого отдельного 3-го столбца:
#!/usr/bin/perl
use 5.10.1;
use strict;
use warnings;
use Data::Dumper;
my %result;
while (<DATA>) {
chomp;
next if /^\s*$/;
my @cols = split;
push @{$result{$cols[2]}}, $cols[1];
}
say Dumper \%result;
__DATA__
69013 1-3039-1 REGISTER
69013 1-3039-1 100
69013 1-3039-1 401
69013 1-3039-2 REGISTER
69013 1-3039-2 100
69013 2-3039-1 REGISTER
69013 3-3039-1 REGISTER
69013 4-3039-1 REGISTER
69023 213-3039-2 REGISTER
69023 193-3039-2 100
69023 193-3039-2 401
69023 222-3039-1 REGISTER
69023 177-3039-2 100
69024 177-3039-2 401
69024 214-3039-1 100
69024 214-3039-1 401
69024 214-3039-2 REGISTER
вывод:
$VAR1 = {
'401' => [
'1-3039-1',
'193-3039-2',
'177-3039-2',
'214-3039-1'
],
'REGISTER' => [
'1-3039-1',
'1-3039-2',
'2-3039-1',
'3-3039-1',
'4-3039-1',
'213-3039-2',
'222-3039-1',
'214-3039-2'
],
'100' => [
'1-3039-1',
'1-3039-2',
'193-3039-2',
'177-3039-2',
'214-3039-1'
]
};