X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXLogPrint.pm;h=185912cda4948abefe7d3408da3d371651921417;hb=c20a2c1e01d707d6c3fa25067df93d491aba8fff;hp=3c0203575d978e3355bd95b41df023268080a98f;hpb=97315924f561c56cef3b581691409d4217f5c1b5;p=spider.git diff --git a/perl/DXLogPrint.pm b/perl/DXLogPrint.pm index 3c020357..185912cd 100644 --- a/perl/DXLogPrint.pm +++ b/perl/DXLogPrint.pm @@ -10,11 +10,10 @@ package DXLog; use IO::File; use DXVars; -use DXDebug (); +#use DXDebug (); use DXUtil; use DXLog; use Julian; -use Carp; use strict; @@ -25,22 +24,22 @@ use strict; # sub print { - my $self = $DXLog::log; + my $fcb = $DXLog::log; my $from = shift; my $to = shift; - my @date = $self->unixtoj(shift); + my @date = Julian::unixtojm(shift); my $pattern = shift; my $who = uc shift; my $search; my @in; - my @out; + my @out = (); my $eval; my $count; $search = '1' unless $pattern || $who; - $search = "\$ref->[1] =~ /$pattern/" if $pattern; + $search = "\$ref->[1] =~ /$pattern/i" if $pattern; $search .= ' && ' if $pattern && $who; - $search .= "(\$ref->[2] =~ /$who/ || \$ref->[3] =~ /$who/)" if $who; + $search .= "(\$ref->[2] =~ /$who/i || \$ref->[3] =~ /$who/i)" if $who; $eval = qq( my \$c; my \$ref; @@ -55,25 +54,28 @@ sub print } ); - $self->close; # close any open files + $fcb->close; # close any open files - my $fh = $self->open(@date); + my $fh = $fcb->open(@date); for ($count = 0; $count < $to; ) { - my @spots = (); + my $ref; if ($fh) { + @in = (); while (<$fh>) { chomp; - push @in, [ split '\^' ]; + $ref = [ split '\^' ]; + push @{$ref}, "" unless @{$ref} >= 4; + push @in, $ref; } eval $eval; # do the search on this file last if $count >= $to; # stop after n return ("Log search error", $@) if $@; } - $fh = $self->openprev(); # get the next file + $fh = $fcb->openprev(); # get the next file last if !$fh; } - return @out if defined @out; + return @out; } #