This code matches the line of keys (ticket, customer, etc), and then continues stuffing lines into the summary field until it matches another line of keys. The part of the regex that matches the ticket # will probably need to be changed, and you might want to think about what kind of whitespace you'll end up with in your string when you have a multi-line summary.
#!/usr/bin/perl -w
use strict;
use Data::Dumper;
my %record;
my $summary_flag;
while(<>) {
print;
if (/(fabx-t\d+\:) \[(\S+)\] \[(\S+)\] \[(\S+)\] \[(\S+)\]/) {
# Print the previous record.
print Dumper(\%record);
# start a new record hash
%record = ( 'ticket#' => $1,
'customer' => $2,
'status' => $3,
'priority' => $4,
'owner' => $5 );
} else {
$record{summary} .= $_;
}
}
# print the last record
print Dumper(\%record);