1. Weiterleitung zu NetzLiving.de
  2. Forum
    1. Unerledigte Themen
  3. zum neuen Forum
  • Anmelden
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Kann den Fehler nicht finden!!!

  • HarryPotter
  • 1. Juli 2002 um 11:47
  • Unerledigt
Hallo zusammen,

das Informatik-Forum geht in den Archivmodus, genaue Informationen kann man der entsprechenden Ankündigung entnehmen. Als Dankeschön für die Treue bekommt man von uns einen Gutscheincode (informatikforum30) womit man bei netzliving.de 30% auf das erste Jahr sparen kann. (Genaue Infos sind ebenfalls in der Ankündigung)

Vielen Dank für die Treue und das Verständnis!
  • HarryPotter
    Punkte
    75
    Beiträge
    11
    • 1. Juli 2002 um 11:47
    • #1

    #!/usr/bin/perl

    use strict;

    my $dir;
    my %data;


    print "Bitte geben sie den Verzeichnisnamen an:\n";

    chomp($dir=<STDIN>);

    unless (-d $dir) {print $!; exit 1;}
    chdir($dir);

    while (<*>);
    {
    unless (-d)
    {
    /\.([^.]+$)/;
    $data{$1}++;
    }
    }

    print "Im Verzeichnis $dir befinden sich:\n";
    foreach(keys(%data))
    {
    if ($data{$_}==1)
    {
    print "$data{$_} Typ von einer .$_ Datei\n "
    }
    else
    {
    print "$data{$_} Typen von .$_ Dateien\n "
    }
    }

    exit 0;


    Dieses Prog soll ermöglichen mir in einem bestimmten Verzeichnis die Dateinamenendungen anzuzeigen!!!
    Beispiel:
    Ich wähle das Verzeichnis /home/Usr/Jutta
    (in dem Verzeichnis sind 6.doc,6.txt Dateien)

    Ausgabe des Progs:

    In dem ausgewählten Verzeichnis befinden sich 6.doc
    6.txt Dateien

    nur irgendwie bekomme ich das nicht zum Laufen!!
    Entdeckt einer den Fehler?

    Danke im voraus!!!

  • #!/usr/bin/perl
    Punkte
    612
    Beiträge
    114
    • 1. Juli 2002 um 13:11
    • #2

    naja, da fehlt z.b. das einlesen des directory's; du chompst $dir bevor Dus ueberhaupt einliest:

    my $dir = <STDIN>;

    zwei typos:

    einer bei chomp($dir) und einer nach der while schleife ( while (<*>); ) da ghoert das semikolon weg, dann funkts.

    Oliver

  • HarryPotter
    Punkte
    75
    Beiträge
    11
    • 1. Juli 2002 um 13:26
    • #3

    Oh sehe gerade, das ich etwas beim kopieren vergessen habe!!

    Hatte "chomp($dir=<STDIN>);" doch in meinem prog stehen!!

    Habe jetzt alles korrigiert und es funzt!

    Ich bin überglücklich!!!

    Einen grossen Beifall!!!!
    Danke schön!!!!:D :cool: :D :) :thumb: :thumb: :thumb:

  • HarryPotter
    Punkte
    75
    Beiträge
    11
    • 3. Juli 2002 um 11:51
    • #4

    Ich schon wieder!!!

    habe einen Unterpunkt vergessen!
    leon20spr

    Kannst Du mir nochmal helfen!!!
    Bei dem geschrieben Programm, müssen auch automatisch alle Unterverzeichnisse geöffnet werden!!!
    Jetzt muss ich das Verzeichnis eingeben und er zeigt mir davon die Anzahl der verschiedenen Dateiendungen an!

    Nun soll das Prog aber auch automatisch alle Unterverzeichnisse durchsuchen, die Dateiendungen auch mit ausgeben!!!


    Hast Du einen Tip für mich??

  • #!/usr/bin/perl
    Punkte
    612
    Beiträge
    114
    • 3. Juli 2002 um 12:05
    • #5

    naja, den inhalt des aktuellen dirs nach subdirs absuchen, und diese rekursiv oeffnen, so wuerd ichs machen.

  • Maximilian Rupp 27. Dezember 2024 um 12:08

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

  1. Datenschutzerklärung
  2. Impressum