Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]9052[/thread]

Suchen von Unten nach Oben: Suchen von UNTEN nach OBEN (Seite 4)



<< |< 1 2 3 4 5 6 >| >> 58 Einträge, 6 Seiten
topeg
 2007-06-05 20:42
#77120 #77120
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
Hin und wieder kommt man nicht darum herum eine Datei ganz ein zu lesen. Bei großen Dateien lagere ich diese dann in ein SharedMemory aus. Damit bleibt der Speicherverbrauch der Applikation nach dem Auflösen des SharedMemory klein.
yasukatakaya
 2007-06-06 10:20
#77121 #77121
User since
2007-05-31
68 Artikel
BenutzerIn
[default_avatar]
Moin Opi, dein Code passt am besten für die erste Log-Datei, die ich gezeigt habe, doch die zweite liest es nicht ein, aus der zweiten Log-Datei will ich folgendes rausgegeben haben:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
PTS - Versions - Check
Urbooter in D151 : 48612.012.01 19Sep01 08:57 <-- OK

Fehlerhafte PTS-Version:
Booter in D151 (soll) : 48612.038.40 15Dec06 09:14
Booter in D151 (ist) : <-- FEHLER !!!


Fehlerhafte Version:
CPLD D160 (soll) : 01
CPLD D160 (ist) : 00 <-- FEHLER !!!

BKC D341 : _PTS48612.005.01 <-- OK
renee
 2007-06-06 10:45
#77122 #77122
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Dann mach aus
Code (perl): (dl )
      last if $hit && $line =~ /^$/;


einfach
Code (perl): (dl )
      last if $hit && $line =~ /^\d+:\d+/;
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
yasukatakaya
 2007-06-06 11:05
#77123 #77123
User since
2007-05-31
68 Artikel
BenutzerIn
[default_avatar]
Moin renee, dein Vorschlag macht das gleiche, wie schon vorher!
Es liest bei der zweiten Log-Date, die ich vorgestellt habe nichts ein, was zwischen PASS und FAIL kommt!?

Gruss
renee
 2007-06-06 11:18
#77124 #77124
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Also mit meiner Änderung bekomme ich :
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
C:\>auswertung2.pl
Use of uninitialized value in concatenation (.) or string at C:\auswertung2.pl line 55.
Use of uninitialized value in concatenation (.) or string at C:\auswertung2.pl line 55.
{@BATCH|||GOEPEL_BSCAN||KDSNR:|ICT||PB/PL_P|uqm161|||
Use of uninitialized value in concatenation (.) or string at C:\auswertung2.pl line 56.
{@BTEST||01|070523135703|||||n|n|070523135703||1|
{@RPT|Failed}
{@RPT| PTS - Versions - Check Urbooter in D151 : 48612.012.01 19Sep01 08:57 <--
OK Fehlerhafte PTS-Version: Booter in D151 (soll) : 48612.038.40 15Dec06 09:14 B
ooter in D151 (ist) : <-- FEHLER !!! Fehlerhafte Version: CPLD D160 (soll) : 01
CPLD D160 (ist) : 00 <-- FEHLER !!! BKC D341 : _PTS48612.005.01 <-- OK }


Da sind alle Blöcke mit dabei, die Du haben willst. Was hier allerdings fehlt sind Kundennummer, etc.
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
yasukatakaya
 2007-06-06 11:54
#77125 #77125
User since
2007-05-31
68 Artikel
BenutzerIn
[default_avatar]
Also, so sieht es jetzt bei mir aus und es gibt diese Meldungen nicht aus, ich weiss nicht warum es bei dir klappt, kannst du vielleicht irgendwelchen Fehler bei mir finden??
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
if ( $end_pos) 
{
$status = '01';
$result = 'Failed';

seek($INPUT, $start_pos, 0);

while ($line = <$INPUT>)
{
chomp($line);

last if $hit && $line =~ /^\d+:\d+/;
if ($line =~ /^\z/)
{
$hit = 1;
}

if ($hit)
{
push @fehler, $line;
}
}

$fehler = join(' ', @fehler);
$fehler =~ s/\s+/ /g;
}
else
{
$status = '00';
$result = 'Passed';
}
\n\n

<!--EDIT|renee|1181118136-->
renee
 2007-06-06 12:24
#77126 #77126
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Benutzt Du Wiki:[tt]use strict[/tt]??
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
yasukatakaya
 2007-06-06 12:28
#77127 #77127
User since
2007-05-31
68 Artikel
BenutzerIn
[default_avatar]
NEIN!!
bloonix
 2007-06-06 12:48
#77128 #77128
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
Oh je, warum hast du nicht das Codestück - die while Schleife - ersetzt,
die ich dir gepostet habe? In der Schleife wird genau bis $end_pos gelesen.

Kein Wunder, das es nicht funktioniert! Hier nochmal das Ganze Stück...
bei mir funktioniert es mit beiden Dateien, die du bislang gepostet hast.

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
use strict;
use warnings;

my ($sachnummer, $kundennummer, $seriennummer, $starttest, $endetest);
my ($status, $result, $fehler, @fehler, $date, $start_pos, $end_pos);

open my $fh, '<', 'data1.txt' or die $!;

while (my $line = <$fh>) {
if (!$starttest && $line =~ /(\d\d)\.(\d\d)\.\d\d(\d\d)\s+(\d\d):(\d\d):(\d\d)/) {
$date = "$3$2$1";
$starttest = "$3$2$1$4$5$6";
} elsif (!$endetest && $line =~ /(\d\d):(\d\d):(\d\d)\s+(?: P\sA\sS\sS|F\sA\sI\sL)/x) {
$endetest = "$date$1$2$3";
} elsif (!$sachnummer && $line =~ /Sachnummer:\s*AATHD(\d+)\./) {
$sachnummer = $1;
} elsif (!$kundennummer && $line =~ /Kundennummer:\s*(\d+)/) {
$kundennummer = $1;
} elsif (!$seriennummer && $line =~ /Flexnummer:\s*([0-9\.]+)/) {
$seriennummer = $1;
$seriennummer =~ s/\.//g;
} elsif ($line =~ /PASS/) {
$start_pos = tell($fh);
} elsif ($line =~ /FAIL/) {
$end_pos = tell($fh);
}
}

if ($end_pos) {
$status = '01';
$result = 'Failed';

seek($fh, $start_pos, 0);
my $hit;

while (my $line = <$fh>) {
chomp($line);
last if $end_pos <= tell($fh);
$hit = 1 if $line =~ /^\z/;
push @fehler, $line if $hit;
}

$fehler = join(' ', @fehler);
$fehler =~ s/\s+/ /g;

} else {
$status = '00';
$result = 'Passed';
}

close $fh;

print "{\@BATCH|$sachnummer||GOEPEL_BSCAN||KDSNR:$kundennummer|ICT||PB/PL_P|uqm161|||\n";
print "{\@BTEST|$seriennummer|$status|$starttest|||||n|n|$endetest||1|\n";
print "{\@RPT|$result}\n";
print "{\@RPT|$fehler}\n" if $fehler;
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
bloonix
 2007-06-06 12:51
#77129 #77129
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
[quote=yasukatakaya,06.06.2007, 10:28]NEIN!![/quote]
Dann mach das bitte!! =)\n\n

<!--EDIT|opi|1181119914-->
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
<< |< 1 2 3 4 5 6 >| >> 58 Einträge, 6 Seiten



View all threads created 2007-05-31 11:57.