Redbo: suchen, ausgeben und ausführen

nachdem ich nun einen wert habe möchte ich nun in einer strukturierten textdatei etwas rausholen:

textdatei.txt
1a3 sagen.txt
1s2 erlauben.txt
2c3 handeln.dll
3v3 nichtswissen.oki
7b5 halbwissen.reg
5n7 supervisor.html
4m3 ..
6j5 ..
345 ..
434 ..
345 ..
34f ..
er4 ..
we3 ..

also das script soll quasi prüfen an welcher stelle der wert vorhanden ist und die datei die dahinter steht auf festplatte kopieren!!!

Kann mir jemand helfen sowohl mit Befehlen als auch mit Logik helfen damit ich mein Miniproblemchen lösen könnte!

danke

MFG redbo

  1. Halihallo Redbo

    Kann mir jemand helfen sowohl mit Befehlen als auch mit Logik helfen damit ich mein Miniproblemchen lösen könnte!

    perldoc File::Copy
    perldoc -f if
    perldoc -f open
    perldoc -f split
    perldoc -f chomp
    perldoc -f while
    perldoc -f foreach
      |
      +--Obwohl ich das zeilenweise auslesen preferieren würde.
         |
         +-- also:
             open(F,"<$file") || die "cannot open file, because $!";
             while my $line (<F>) {
                chomp $line;
                # do something with $line
             }
             close(F) || die "cannot close file, because $!";

    Viele Grüsse

    Philipp

    --
    RTFM! - Foren steigern das Aufkommen von Redundanz im Internet, danke für das lesen der Manuals.
    Selbstbedienung! - Das SelfForum ist ein Gratis-Restaurant mit Selbstbedienung, Menüangebot steht in den </faq/> und dem </archiv/>.
    1. ich danke euch allen für die Vorschläge ich schaue mir alles mal an

      ich danke nochmals für die Mühe da es mir bestimmt sehr helfen würde

      MFG Redbo

  2. Moin,

    Kann mir jemand helfen sowohl mit Befehlen als auch mit Logik helfen damit ich mein Miniproblemchen lösen könnte!

    versuch's mal mit 'nem regulärem Ausdruck

    open(TXT, "Textdatei.txt");
     my $inhalt = join("", <TXT>);
     $inhalt =~ /Wert (.*).txt/gi;
     my $datei = $1.txt;
    close(TXT);

    open(DATEI, "<$datei");
     my $dateiinhalt = join("", <DATEI>);
    close(DATEI);

    open(FESTPLATTENDATEI, ">$datei");
     print FESTPLATTENDATEI "$dateiinhalt";
    close(FESTPLATTENDATEI);

    müsste eigentlich klappen!

    cu, m@y

  3. Hallo,
    ist deine Liste von Dateien nun die Dateien, die durchsucht werden sollen? Wenn ja, würde ich es so machen:

    opendir(DIR,'.') or die "Kann Verzeichnis nicht oeffnen: $!\n";
    while (defined($_ = readdir DIR))   {
            if ($_ =~ /^\w+?.\w{3,4}$/)   {
                    open(FILE,$_) or die "Kann File $_ nicht oeffnen: $!\n";
                    local $/;
                    my $file = <FILE>;
                    if ($file =~ /HIER KOMMT DAS, WONACH DU SUCHEN WILLST/s)    {
                     #HIER KOMMT DAS, WAS DU MIT DIESEM FILE MACHEN WILLST, ZB VERSCHIEBEN
                    }
                    close FILE;
            }
    }
    closedir DIR;

    --
    Mit Computern lösen wir Probleme, die wir ohne sie gar nicht hätten.