my @log; if (-e $logfile) { open(LOG, '<', $logfile) or die $!; while () { push @log, { logLine => $_, error => (/error/i) ? 1 : 0 }; last if (@log > $some_large_number ); } close(LOG); } $tmpl->param( log1 => \@log );