#!/usr/bin/perl -w use strict; # hashes my %Tids=(); # scalars my $Tid=""; # subroutines sub findNumbers; sub findTids; open(IN,") { if(/ORIGINATION_ATTEMPT/) { &findTID; print "$Tid,$Tids{\$Tid}{a},$Tids{\$Tid}{b}\n"; } } close(IN); print "============================================\n"; foreach $Tid (keys(%Tids)) { print "$Tid,$Tids{\$Tid}{a},$Tids{\$Tid}{b}\n"; } ## subroutines sub findTID { my $line=(); if($line =~ /Tid: ([0-9a-f]{8})/) { $Tid = substr($1,3,5); $Tids{$Tid}=$Tid; $Tids{\$Tid}{a}="----------"; $Tids{\$Tid}{b}="----------"; &findNumbers; } } sub findNumbers { my $line=""; while($line !~ /\-{40}/) { $line=; if($line =~ /FIRST_NUMBER\s+(\d+)\s/) { $Tids{\$Tid}{a}=$1; } if($line =~ /SECOND_NUMBER\s+(\d+)\s/) { $Tids{\$Tid}{b}=$1; } } }