Ersetzung bringt fehler. Use of uninitialized value in substitution
Hallo, ich habe folgendes Problem. Ich habe eine Datei die ich formatieren muss. Dort sind die ganzen Zeilenumbrüche verschwunden. (Durch einen Admin der mir das so geschickt hat)
Jedenfalls möchte ich nur gerne in diese irre lange zeile mehrere Zeilenumbrüche einfügen. Jedoch meckert Perl immer wieder. Und ich hab schon verschiedene Sachen ausprobiert, aber ich komm leider nicht weiter. Deswegen frag ich nun hier um Hilfe.
Mein Script:
$zeile = $_;
$i = 1;
while ($i <100000)
{
$i++;
$zeile =~ s/\sVerzeichnis\svon/\nVerzeichnis\svon/;
print $i;
}
Hier ein Auschnitt aus der Datei die ich bekommen habe.
Verzeichnis von Z:\vol\servertruppe\ARCHIV\Emailarchivierung\IXOS\Software\IXOS 5.5 CDs\CD_eCONserver 5.5D W2k\WIN32\program files\IXOS\IXOS-eCON\opt\PERL\lib\MSWin32-x86\auto\attrs Verzeichnis von Z:\vol\servertruppe\ARCHIV\IXOS von q8s88_d$\Livelink9.5\adm\WIN32\Program Files\IXOS\opt\PERL\lib\MSWin32-x86\auto\attrs Verzeichnis von Z:\vol\servertruppe\ARCHIV\IXOS von q8s88_d$\Livelink9.5\dbapp\WIN32\Program Files\IXOS\opt\PERL\lib\MSWin32-x86\auto\attrs Verzeichnis von Z:\vol\servertruppe\ARCHIV\IXOS von q8s88_d$\Livelink9.5\dpapp\WIN32\Program Files\IXOS\opt\PERL\lib\MSWin32-x86\auto\attrs Verzeichnis von Z:\vol\servertruppe\ARCHIV\IXOS von q8s88_d$\Livelink9.5\dpdl\WIN32\Program Files\IXOS\opt\PERL\lib\MSWin32-x86\auto\attrs Verzeichnis von Z:\vol\servertruppe\ARCHIV\IXOS von q8s88_d$\Livelink9.5\dpdms\WIN32\Program Files\IXOS\opt\PERL\lib\MSWin32-x86\auto\attrs Verzeichnis von Z:\vol\servertruppe\ARCHIV\IXOS von q8s88_d$\Livelink9.5\dppms\WIN32\Program Files\IXOS\opt\PERL\lib\MSWin32-x86\auto\attrs Verzeichnis von Z:\vol\servertruppe\ARCHIV\IXOS von q8s88_d$\Livelink9.5\dpsap\WIN32\Program Files\IXOS\opt\PERL\lib\MSWin32-x86\auto\attrs Verzeichnis von Z:\vol\servertruppe\ARCHIV\Opentext_IXOS\FSA\INST\LL_FSA_9.6.0\fsa\WIN32\program files\IXOS\opt\PERL\lib\MSWin32-x86-multi-thread\auto\attrs Verzeichnis von Z:\vol\servertruppe\ARCHIV\Opentext_IXOS\FSA\PATCH\FA096-010\dist\fsa\WIN32\program files\IXOS\opt\PERL\lib\MSWin32-x86-multi-thread\auto\attrs Verzeichnis von Z:\vol\servertruppe\ARCHIV\Emailarchivierung\IXOS\Software\IXOS 5.5 CDs\CD_eCONserver 5.5D W2k\WIN32\program files\IXOS\IXOS-eCON\opt\PERL\lib\MSWin32-x86\auto\B
Das hätte ich gerne so formatiert das immer
"Verzeichnis von" am Anfang steht. Also der er jeweils vor "Verzeichnis von" einen Zeilenumbruch einfügt.
Sowas müsste doch auch mit einem Einzeiler funktionieren. Jedoch wie bekomm ich es hin das er die Ersetzung überhaupt durchführt und das er nicht nur 1 Ersetzungen macht, sonder so oft ersetzt wie es halt in der Datei vorkommt.
Hoffe mir kann jemand Helfen.
Vielen Dank
DerChirurg
Jedenfalls möchte ich nur gerne in diese irre lange zeile mehrere Zeilenumbrüche einfügen. Jedoch meckert Perl immer wieder. Und ich hab schon verschiedene Sachen ausprobiert, aber ich komm leider nicht weiter. Deswegen frag ich nun hier um Hilfe.
Mein Script:
$zeile = $_;
$i = 1;
while ($i <100000)
{
$i++;
$zeile =~ s/\sVerzeichnis\svon/\nVerzeichnis\svon/;
print $i;
}
Hier ein Auschnitt aus der Datei die ich bekommen habe.
Verzeichnis von Z:\vol\servertruppe\ARCHIV\Emailarchivierung\IXOS\Software\IXOS 5.5 CDs\CD_eCONserver 5.5D W2k\WIN32\program files\IXOS\IXOS-eCON\opt\PERL\lib\MSWin32-x86\auto\attrs Verzeichnis von Z:\vol\servertruppe\ARCHIV\IXOS von q8s88_d$\Livelink9.5\adm\WIN32\Program Files\IXOS\opt\PERL\lib\MSWin32-x86\auto\attrs Verzeichnis von Z:\vol\servertruppe\ARCHIV\IXOS von q8s88_d$\Livelink9.5\dbapp\WIN32\Program Files\IXOS\opt\PERL\lib\MSWin32-x86\auto\attrs Verzeichnis von Z:\vol\servertruppe\ARCHIV\IXOS von q8s88_d$\Livelink9.5\dpapp\WIN32\Program Files\IXOS\opt\PERL\lib\MSWin32-x86\auto\attrs Verzeichnis von Z:\vol\servertruppe\ARCHIV\IXOS von q8s88_d$\Livelink9.5\dpdl\WIN32\Program Files\IXOS\opt\PERL\lib\MSWin32-x86\auto\attrs Verzeichnis von Z:\vol\servertruppe\ARCHIV\IXOS von q8s88_d$\Livelink9.5\dpdms\WIN32\Program Files\IXOS\opt\PERL\lib\MSWin32-x86\auto\attrs Verzeichnis von Z:\vol\servertruppe\ARCHIV\IXOS von q8s88_d$\Livelink9.5\dppms\WIN32\Program Files\IXOS\opt\PERL\lib\MSWin32-x86\auto\attrs Verzeichnis von Z:\vol\servertruppe\ARCHIV\IXOS von q8s88_d$\Livelink9.5\dpsap\WIN32\Program Files\IXOS\opt\PERL\lib\MSWin32-x86\auto\attrs Verzeichnis von Z:\vol\servertruppe\ARCHIV\Opentext_IXOS\FSA\INST\LL_FSA_9.6.0\fsa\WIN32\program files\IXOS\opt\PERL\lib\MSWin32-x86-multi-thread\auto\attrs Verzeichnis von Z:\vol\servertruppe\ARCHIV\Opentext_IXOS\FSA\PATCH\FA096-010\dist\fsa\WIN32\program files\IXOS\opt\PERL\lib\MSWin32-x86-multi-thread\auto\attrs Verzeichnis von Z:\vol\servertruppe\ARCHIV\Emailarchivierung\IXOS\Software\IXOS 5.5 CDs\CD_eCONserver 5.5D W2k\WIN32\program files\IXOS\IXOS-eCON\opt\PERL\lib\MSWin32-x86\auto\B
Das hätte ich gerne so formatiert das immer
"Verzeichnis von" am Anfang steht. Also der er jeweils vor "Verzeichnis von" einen Zeilenumbruch einfügt.
Sowas müsste doch auch mit einem Einzeiler funktionieren. Jedoch wie bekomm ich es hin das er die Ersetzung überhaupt durchführt und das er nicht nur 1 Ersetzungen macht, sonder so oft ersetzt wie es halt in der Datei vorkommt.
Hoffe mir kann jemand Helfen.
Vielen Dank
DerChirurg
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 165725
Url: https://administrator.de/contentid/165725
Ausgedruckt am: 24.11.2024 um 05:11 Uhr
3 Kommentare
Neuester Kommentar
my $in = 'Verzeichnis von Z:\vol\servertruppe\ARCHIV\Emailarchivierung\IXOS\Software\IXOS 5.5 CDs\CD_eCONserver 5.5D W2k\WIN32\program files\IXOS\IXOS-eCON\opt\PERL\lib\MSWin32-x86\auto\attrs Verzeichnis von Z:\vol\servertruppe\ARCHIV\IXOS von q8s88_d$\Livelink9.5\adm\WIN32\Program Files\IXOS\opt\PERL\lib\MSWin32-x86\auto\attrs Verzeichnis von Z:\vol\servertruppe\ARCHIV\IXOS von q8s88_d$\Livelink9.5\dbapp\WIN32\Program Files\IXOS\opt\PERL\lib\MSWin32-x86\auto\attrs Verzeichnis von Z:\vol\servertruppe\ARCHIV\IXOS von q8s88_d$\Livelink9.5\dpapp\WIN32\Program Files\IXOS\opt\PERL\lib\MSWin32-x86\auto\attrs Verzeichnis von Z:\vol\servertruppe\ARCHIV\IXOS von q8s88_d$\Livelink9.5\dpdl\WIN32\Program Files\IXOS\opt\PERL\lib\MSWin32-x86\auto\attrs Verzeichnis von Z:\vol\servertruppe\ARCHIV\IXOS von q8s88_d$\Livelink9.5\dpdms\WIN32\Program Files\IXOS\opt\PERL\lib\MSWin32-x86\auto\attrs Verzeichnis von Z:\vol\servertruppe\ARCHIV\IXOS von q8s88_d$\Livelink9.5\dppms\WIN32\Program Files\IXOS\opt\PERL\lib\MSWin32-x86\auto\attrs Verzeichnis von Z:\vol\servertruppe\ARCHIV\IXOS von q8s88_d$\Livelink9.5\dpsap\WIN32\Program Files\IXOS\opt\PERL\lib\MSWin32-x86\auto\attrs Verzeichnis von Z:\vol\servertruppe\ARCHIV\Opentext_IXOS\FSA\INST\LL_FSA_9.6.0\fsa\WIN32\program files\IXOS\opt\PERL\lib\MSWin32-x86-multi-thread\auto\attrs Verzeichnis von Z:\vol\servertruppe\ARCHIV\Opentext_IXOS\FSA\PATCH\FA096-010\dist\fsa\WIN32\program files\IXOS\opt\PERL\lib\MSWin32-x86-multi-thread\auto\attrs Verzeichnis von Z:\vol\servertruppe\ARCHIV\Emailarchivierung\IXOS\Software\IXOS 5.5 CDs\CD_eCONserver 5.5D W2k\WIN32\program files\IXOS\IXOS-eCON\opt\PERL\lib\MSWin32-x86\auto\B ';
$in =~ s/Verzeichnis von/\nVerzeichnis von/g;
print $in;
Hallo DerChirurg,
bin zwar kein Perl-Kenner, aber falls dein Bekannter erst mal glücklich mit einem VBS-4-Zeiler sein könnte, dann dieser hier:
Eventuell kannst du das VBS-Schnipsel ja nach Perl exportieren.
Gruss
Tsuki
Ps.: das geht auch als Einzeiler, aber vielleicht möchte es jemand ja auch verstehen
bin zwar kein Perl-Kenner, aber falls dein Bekannter erst mal glücklich mit einem VBS-4-Zeiler sein könnte, dann dieser hier:
Set FSO = CreateObject("Scripting.FileSystemObject")
MyOne = FSO.OpenTextFile("C:\OhneUmbruch.txt", 1).ReadAll
MyOneNew = Replace (MyOne, "Verzeichnis von" , vbcrlf & "Verzeichnis von")
MyOneNew1 = FSO.CreateTextFile("C:\MitUmbruch.txt", True).Write (MyOneNew)
Eventuell kannst du das VBS-Schnipsel ja nach Perl exportieren.
Gruss
Tsuki
Ps.: das geht auch als Einzeiler, aber vielleicht möchte es jemand ja auch verstehen