Kann den Fehler nicht finden!!!

  • #!/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!!!

  • 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

    this is Unix land. In silent nights, you can hear Windows machines reboot...

  • 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:

  • Ich schon wieder!!!

    habe einen Unterpunkt vergessen!
    #!/usr/bin/perl

    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??

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!