[Cascavel-pm] Problemas com o match
Flavio S. Glock
fglock em gmail.com
Quinta Novembro 17 07:33:59 PST 2005
Lorn:
O motivo de usar a variável $buffer é para acumular todas as linhas em
um lugar só.
Se você usasse o $_ dentro do seu while, você pegaria somente uma
linha de cada vez, e aí não teria match.
O seu programa poderia funcionar sem o $buffer desta forma:
undef $/; # isso coloca o <> em modo "slurp"
$_ = <DATA>;
if (
m{ \[ (\w{3}) \s* (\w{3}) \s* (\d{2}) \s*
(\d{2}:\d{2}:\d{2})\s*
(\d{4}) \]
(\w*) \/ (\w*) /// Info(\(\d*\))
\n
(\w*) # isso e so pra pegar a 2a linha
}x
){
print "funfo a regexp\n";
print "$buffer";
print "$1\n";
print "$2\n";
print "$3\n";
print "$4\n";
print "$5\n";
print "$6\n";
print "$7\n";
print "$8\n";
print "$9\n";
print "$10\n";
print "$11\n";
}
__DATA__
[Fri Sep 30 14:02:22 2005]Local/ESSBASE0///Info(1051001)
Received client request: Logout (from user Procbat
- Flavio S. Glock
Mais detalhes sobre a lista de discussão Cascavel-pm