You could do:
my ($error) = $line =~ /.*](.*)/;
That basically matches everything after the last closing bracket in the line. However, you could just use functions for that:
my $error = substr($line, rindex($line, ']') + 1);
Or consider using a log parser.
_____________________________________________________
Jeff[japhy]Pinyan:
Perl,
regex,
and perlhacker, who'd like a job (NYC-area)
s++=END;++y(;-P)}y js++=;shajsj<++y(p-q)}?print:??;