while (1) { my @entries = (); my $ref_entry = {}; $/ = ""; open( F, " $cat test |" ) or warn("Can't executed $cat\n"), next; while () { $\ = ""; next if $_ =~ /^\d+:/; print("$_\n"); foreach ( split /\n/ ) { $$ref_entry{$1} = default($2) if /^(\w +?)\s+:.(\d+)/; $$ref_entry{$1} = default($2) if /^(\w +?)\s+:.'(.*)'/; $$ref_entry{$1} = default($2) if /^(\w +?)\s+:.>(.*) $2\n"; } push @entries, $ref_entry; } close(F); calreport(@entries); splice(@entries); }