perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 22
Click for quality!




11.02.2012 / 06:43

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragString lesen & kopieren
Seitenanfang
Hi Leutz ich bin leider erst Perl Anfänger,

ich habe eine Textdatei (Ausgabe eines Programms ) das einen String an Pos. Zeile 24 / Spalte 10 bis 18.
Dieser String muss in die gleiche Datei an Pos. Zeile 4 /Spalte 60 bis 68 kopiert werden.
Ansonsten verarbeitet ein weitere Programm die Datei nicht richtig. Z.z. nutze ich ein Skript das ich mit dem String als Parameter starte und der String automatisch an die richtige Stelle gelangt. Leider kommt es zu einem fatalen Fehler wenn der "alte" String mit dem "neuen" nicht übereinstimmt !!! :-O)

Danke im Voraus

Tahli Bahn

Datum: 07.04.2005-16:25

Beitragre: String lesen & kopieren
Seitenanfang
#Du hast Datei mit folgendem Inhalt:
#12345
#67890
#abcde
#fghij

#öffnen der datei
$FILE_NAME="c:\\tmp.txt";

if (!open(INFILE, $FILE_NAME))
{
print "$FILE_NAME not found!\n";
exit;
}

#file in das array laden
@FILE=<INFILE>;

#Beispiel:
# von 4. Zeile ab 2. Zeichen 2 Zeichen nach
# 2. Zeile kopieren ab Spalte 4
$QuellSpalte=3;
$QuellZeile=4;
$ZielZeile=2;
$ZielSpalte=4;
$Anzahl=2;

$QuellString=$FILE[$QuellZeile-1];
$ZielString=$FILE[$ZielZeile-1];

substr($ZielString, $ZielSpalte-1, $Anzahl) = substr($QuellString, $QuellSpalte-1, $Anzahl);

#Modifizierten String zurückschreiben
$FILE[$ZielZeile-1]=$ZielString;

#Jetzt kannst DU den File wieder zurückschreiben:
$OutPutFile="c:\\modified.txt";
open($OUTPUT, ">$OutPutFile")
or die "Can't create OutPutFile!";

foreach (@FILE) {
print $OUTPUT $_;

}
close ($OUTPUT);

exit;

Datum: 11.04.2005-16:24

BeitragHoffe Du kannst was damit anfangen!
Seitenanfang
Gruß Gernot

Datum: 12.04.2005-12:07

Beitragre: String lesen & kopieren
Seitenanfang
Hi Gernot und alle anderen Forumleser,
erstmal herzlichen dank für die Arbeit die du dir gemacht hast.
Das Prinzip ist Richtig nur bekomme ich leider in meiner Version Fehler. Ich muss an die Stelle ($Zielspalte=23)schreiben. Der Fehler taucht auf weil ich hinter das "CR" (Return) schreiben muss.
In deinem Beispiel sollte aus:

12345
67890
abcde
fghi

diese Datei werden:

12345 hi
67890
abcde
fghi

Fehlermeldung: substr outside of string at beispiel.pl at line <4>

Irgendwie muss der string erweitert werden und die Leerstellen gefüllt werden!

Vielen Dank schon mal

Tahli Bahn

Datum: 13.04.2005-13:02

Beitragre: String lesen & kopieren
Seitenanfang
Hallo Andereas!

wenn ich Dich richtig verstehe, wenn der String z.B. "123456\n" ist und an die 10 Spalte geschrieben werden soll...
kommt dann "123456 NEU\n" heraus?

Gruß G.

Datum: 14.04.2005-13:16

Beitragre: String lesen & kopieren
Seitenanfang
Hi Gernot,
leider bricht das ganze Skript ab (siehe Fehlermeldung aus letztem Beitrag). Ich muss mindestens 15 Leerstellen zwischen 123456 und NEU(kopierter String) einfügen.

CUA

Tahli Bahn

Datum: 14.04.2005-13:38

-






-
-