Thread split geht nicht: steh mal wieder im wald (11 answers)
Opened by sabrina at 2006-09-20 13:39

sabrina
 2006-09-20 13:39
#70076 #70076
User since
2006-08-03
264 Artikel
BenutzerIn
[default_avatar]
hi, hab ne neue datei die gesplittet werden soll, so wie die alte, zwischen jedem neuem wort soll ein ";" stehen
code lautet[quote]:
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
#!/usr/bin/perl
use strict;
use warnings;
my $file = 'KNAPP_2005.txt';
my $files = 'knappziel_1_3.txt';
my @data;
my @lines;
open(my $fh,'<';$file) or die $!;
while(my $line = <$fh>{
#chomp $line;
my @line = (split(/[\t\s\:\\]/,$line));
foreach (@line){
s/^\s+/;/g;
s/\s+$/;/g;
}
if ($line =~/\bfast\b/){
push(@lines,$line);
}
}
close $fh or die "kann nicht schliessen$!"
print $_ for (@lines);
open(my $w_fh,'>',$files) or die $!;
print $w_fh $_ for (@lines);
close $w_fh or die "kann nicht schliessen $w_$!";

die verarbeiteten daten sehen nach der bearbeitung meines codes so aus:
Code: (dl )
1
2
     groesse    treffer     benutzer
     783652.76 63574       fast: G:\FILES\geh8

die ueberschrift groesse usw hab ich schon geloescht den  die brauch ich nicht.
es soll nach jedem \t\s\:\\ gespalten werden und egal wieviele leerstellen es sind, es darf nur ein ";" zwischen den woertern stehen.
chomp ist mit einem # versehen, weil sonst die daten alle in einer Reihe stehen, denk da fehlt wohl irgendwo "\n" aber wo?und warum splittet es nicht, es ist doch fast das gleiche splitt wie im anderen CODE. Waere lieb von euch wenn mir jemand helfen koennte
ps.
das hex zeichen entferne ich spaeter wenn die ";" drinn sind.
lg sabrina\n\n

<!--EDIT|sabrina|1158745262-->

View full thread split geht nicht: steh mal wieder im wald