Thread letzten Zeilen im Array wiederholen (15 answers)
Opened by EagleFox at 2006-04-12 18:11

EagleFox
 2006-04-13 17:08
#64799 #64799
User since
2006-04-10
66 Artikel
BenutzerIn
[default_avatar]
Ja, genau so soll das aussehen!

Aber ich habe gerade gemerkt, dass ich wohl durch die ganze Herumprobiererei irgendetwas im Code geƤndert haben muss, was mir jetzt alles durcheinander bringt! Hier mal der komplette code:

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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#! /usr/bin/perl

use strict;
use warnings;

print $ARGV[0];

my $file = $ARGV[0];
my ($in,$suffix) = $ARGV[0] =~ /(.*?)(\.[^\.]+)$/;
my $out = $in.'.cut'.$suffix;

my $count_ = 1;
my $datensatz = '';

{
open(my $outfh,">$out") or die $!;

open(my $fh,"<$file") or die $!;
while(my $entry = <$fh>){
$entry =~ s/\r?\n//g;
if($entry =~ /^\s*?#/){
print $outfh $entry,"\n";
}
else{
if($entry =~ /^\s*?$/){
$count_++;
}
else{
$datensatz .= $entry."\n";
}
if($count_ % 3 == 0){
$datensatz = getDatensatz($datensatz);
print $outfh $datensatz;
$count_ = 1;
$datensatz = '';
}
}
}
if($datensatz){
$datensatz = getDatensatz($datensatz);
print $outfh $datensatz;
}
close $fh;
close $outfh;
}


sub getDatensatz{
my ($entry) = @_;
my $bool = 0;
my $warte_auf_flanke = 0;
my $set = '';
my @fallend;
for my $line(split(/\r?\n/,$entry)){
chomp $line;
my $wert = (split(/\s+/,$line))[-1];

if($wert > 4.8)
{
$warte_auf_flanke = 1;
}
if($warte_auf_flanke and $wert < 4)
{
$warte_auf_flanke = 0;
$bool = 1;
}

unless($bool){
push(@fallend,$_[-1]);
}
else{
$set .= $line."\n";
}
}


my $last = ( split /\n/, $set )[-1];
$set .= ( $last . "\n" ) x 9;
$set .= $_ . "\n" for (@fallend);
$set .= "\n\n";
return $set;

}


Ich finde den Fehler nicht! ;-(

View full thread letzten Zeilen im Array wiederholen