Ich habe folgendes Problem.
Mein Script soll das "+" gegen " +" ersetzen wenn danach keine geöffnete Klammer folgt und die geöffnete Klammer "(" durch " (" ersetzen wenn vorher kein "+" gefunden wurde?
Wie bringe ich das der Substitution bei`?
Hab bisher folgenden Code, hab die Problematische Stelle mal markiert
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
use strict;
my $eindaten = $ARGV[0] or die "Bitte Datei mit Fremddaten
als Parameter angeben!\n";
my $ausdaten = "Signaturen.txt";
$ausdaten = "D:/TEMP/signaturen.txt" if -d "D:/TEMP";
open(IN, "<$eindaten") or die "Konnte $eindaten nicht
oeffen : $!";
open(OUT, ">$ausdaten") or die "Konnte $ausdaten nicht
oeffen : $!";
my $zaehler = 0;
while (<IN>)
{
s/\(/ (;
s/\+/ +;
my @saetze = ();
next if /^\s*$/;
@saetze = split (/\ /);
my $zaehler++;
my $notation = $saetze[0];
my $nummcurr = $saetze[1];
my $auflage = $saetze[2];
my $rest = $saetze[3];
chomp($notation);
chomp($nummcurr);
chomp($rest);
chomp($auflage);
print OUT "$notation,$nummcurr,$auflage,$rest\n";
}
Es geht darum, dass eine bestimmte Textdatei mit Buchsignaturen umformatiert wird. Es müssen Kommata an bestimmten Stellen stehen.
Hoffe ihr könnt irgendwie helfen!
An Zeile 20/21 soll der Code mit der Substitution stehen!