Thread Regulärer Ausdruck, Zeilenumbruch
(15 answers)
Opened by Teesemmel at 2007-10-17 13:11
Danke schon mal für eure Antworten. Ich habe mal mein Skript reduziert und hoffe dass ihr mir evtl helfen könnt dass es funktioniert.
Also ich habe folgendes Ausgangsfile (testinput.txt): und dazu folgendes Skript: Code (perl): (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 #!/usr/local/bin/perl ############################ use strict; use warnings; use Fcntl qw/O_RDONLY O_WRONLY O_CREAT O_EXCL/; my $file = 'testinput.txt'; my $tmp = 'output.txt'; sysopen(INPUT, $file, O_RDONLY) or die "unable to open the input file"; #Datei wird systemnah, nur zum Lesen, geöffnet sysopen(OUTPUT, $tmp, O_WRONLY | O_CREAT) or die "unable to open job2.inp: $!"; while(my $test = <INPUT>) { print OUTPUT $test; if ($test =~/(anderer text)\n((\s*[0-9]*,)*(\s*[0-9]*)\n)*/) { print "okay, passt\n"; while($test = <INPUT>) { if ($test =~/(testende)/) { print OUTPUT "das ist der text \n"; print OUTPUT $test; print "jetzt steht was drin"; } } } } close (INPUT); close (OUTPUT); in dem Output File soll am Ende folgendes stehen: Code: (dl
)
1 anderer text wenn ich die Zeile Code (perl): (dl
)
if ($test =~/(anderer text)\n((\s*[0-9]*,)*(\s*[0-9]*)\n)*/) Code (perl): (dl
)
if ($test =~/(456),\s*(123)/) dann funktioniert es (aber so kann ich es nicht brauchen). Lasse ich aber Code (perl): (dl
)
if ($test =~/(anderer text)\n((\s*[0-9]*,)*(\s*[0-9]*)\n)*/) dann sieht der Output folgendermaßen aus: Daher hege ich die starke Vermutung dass irgendwas an dem RA nicht passt? Vielen Dank für eure Antworten! Gruß Max |