Thread Text-Datei in mehrere Dateien splitten (21 answers)
Opened by hybi at 2013-07-23 11:07

renee
 2013-07-26 13:36
#169151 #169151
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Das Problem liegt darin, dass die Zeile mit "Abteilung" auch die "@@" enthält. Du hast ein "elsif( m/^Abteilung" in dem Du genau diese Zeile schon abarbeitest. Dadurch greift das "elsif(m/$split/" nicht mehr.

mache aus
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
        elsif (m/^Abteilung\s*\[\s*(.*)\s(\d*)\s\]\s(.*)$/){
print OUT "Abteilung [ $1 ]\nAbteilungsnummer [ $2 ] @@\n";
}

elsif (/^(.*?)$split(.*)$/){
print OUT $1;
close OUT;
$i++;
open OUT, '> Dateien/wuw' . $i . '.txt' or die "ERROR!\n";
print OUT $2;
}
einfach
Code: (dl )
1
2
3
4
5
6
7
8
9
        elsif (m/^Abteilung\s*\[\s*(.*)\s(\d*)\s\]\s(.*)$/){
print OUT "Abteilung [ $1 ]\nAbteilungsnummer [ $2 ] @@\n";
}

if (/^(.*?)$split(.*)$/){
close OUT;
$i++;
open OUT, '> Dateien/wuw' . $i . '.txt' or die "ERROR!\n";
}

das print OUT $1 brauchst Du nicht mehr, weil Du ja in dem elsif (m/^Abteilung schon alle Informationen in die Datei schreibst.

Noch eine kleine Verbesserung: Statt
Code: (dl )
if (/^(.*?)$split(.*)$/){
schreibt man besser
Code: (dl )
if (/$split/){
.
Last edited: 2013-07-26 13:38:34 +0200 (CEST)
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/

View full thread Text-Datei in mehrere Dateien splitten