open(INI, "reg.txt") or die "cant open the file $!";
undef $/;
$file=;
close (INI);
while ($file =~ m/(.*?) --TID(.*?)@(\d+)\.(\d+)\.(\d+)\.(\d+)\s/gi)
{
$Ti[$i++]="$2";
$Re[$i++]="$4";
$TR[$i++]="$2 : $4";
}
my @uniq1= grep !$serach1{$_}++, @TR;
my @uniq2= grep !$serach2{$_}++, @Ti;
my @uniq3= grep !$serach3{$_}++, @Re;
print "Register\n";
foreach (sort @uniq3){ print $_ ."\n";}print "\n\n";
print "TID : Register\n";
foreach (sort @uniq1){ print $_ ."\n";}print "\n\n";
print "TID\n";
foreach (sort @uniq2){ print $_ ."\n";}print "\n\n";
DATA
---------
LT19-10-13-400922 --TID1-3039@10.105.14.163 1--RequestREGISTER
LT19-10-13-405432 --TID1-3039@10.100.14.163 1--Response100
LT19-10-13-410015 --TID1-3039@10.101.14.163 1--Response401
LT19-10-13-524129 --TID2-3039@10.101.14.163 1--Response100
LT19-10-13-528946 --TID2-3039@10.100.14.163 1--Response401
LT19-10-13-534280 --TID2-3039@10.108.14.163 2--RequestREGISTER
LT19-10-13-538468 --TID3-3039@10.100.14.163 1--Response100
LT19-10-13-543036 --TID3-3039@10.105.14.163 1--Response401
OUTPUT
--------
Register
100
101
105
108
TID : Register
1-3039 : 100
1-3039 : 101
1-3039 : 105
2-3039 : 100
2-3039 : 101
2-3039 : 105
2-3039 : 108
3-3039 : 100
4-3039 : 100
TID
1-3039
2-3039
3-3039
4-3039