Jonas: Bedingung -d und -f klappt nicht unter Win

Hi

Ich versuche mit folgendem kleine Code sämtliche Unterverzeichnisse und Dateien eines zuvor eingelesenen Verzeichnisses zu extrahieren:

my @subdir = ();
my @files = ();
foreach(@dir) {
if (-d $_ && ($_ ne ".." && $_ ne ".")) {push(@subdir,$_);}
elsif (-f $_) {push(@files,$_);}
}

Auf eine Unix-Maschine klappt das 1A. Leider scheint mein Perl (neueste Version von Active Perl) auf meinem Win-Rechner diese Anweisung nicht richtig zu kennen. Die Arrays @subdir und @files bleiben unter Windows stets leer.

Gibts da ein Problem in meinem Code oder wo liegt der Hacken?

Grüsse

Jonas

  1. gudn tach!

    my @subdir = ();
    my @files = ();
    foreach(@dir) {
    if (-d $_ && ($_ ne ".." && $_ ne ".")) {push(@subdir,$_);}
    elsif (-f $_) {push(@files,$_);}
    }

    Auf eine Unix-Maschine klappt das 1A.

    ist @dir unter unix vorbelegt?

    also ich mach sowas mit readdir. und das funzt meistens auf linux- und windows-rechnern.

    was ganz anderes: gibt's eigentlich eine befriedigende loesung, hier im forum code zu zitieren?

    prost
    seth

    1. hi

      nein, @dir ist nicht vorbelegt. lese zuvor natürlich mit readdir den inhalt des Verzeichnisses in @dir ein. Mit meinem Code will ich dann die Unterverzeichnisse und Dateien separiert in @subdir und @files einlesen.

      1. Shit, hab den Fehler gefunden:
        hinter dem -d und -f muss _natürlich_ der absolute Pfad stehen zu dem File / dem Dir. Was bei mir nicht der Fall war. Jetzt klappts auch!

        Danke trotzdem

        CU

        Jonas

        1. gudn tach!

          hinter dem -d und -f muss _natürlich_ der absolute Pfad stehen zu dem File / dem Dir.

          hmm, _muss_ eigentlich nicht. relative angaben funzen auch. sicher, dass es daran lag?

          prost
          seth

    2. Hallo seth

      was ganz anderes: gibt's eigentlich eine befriedigende loesung, hier im forum code zu zitieren?

      Wie wäre es mit

      [ code lang=xyz ]
          | hier folgt in Forumskommentar
          | Quellcode der speziellen Sprache
          | ...
        [ /code ]

      und anschließend einfach mal die Vorschau verwenden :-)

      prost [1]

      Freundliche Grüße

      Vinzenz,

      [1] dessen Gaumen nicht gut genug geschult ist, um Biere zu bewerten,
          der Biere leider auch nicht gut in Kategorien einteilen kann
          aber weiß, welches Bier ihm schmeckt.

      Fällt ein nicht erwähntes Bier unter die Kategorie "Spezial"?
      Oder bin ich jetzt im falschen Forum?

      1. gudn tach Vinzenz!

        so ein mist! ich hatte gestern bereits eine antwort geschrieben, aber wohl mal wieder vergessen nach der vorschau auf "absenden" zu klicken.

        was ganz anderes: gibt's eigentlich eine befriedigende loesung, hier im forum code zu zitieren?

        Wie wäre es mit
          [ code lang=xyz ]
            | hier folgt in Forumskommentar
            | Quellcode der speziellen Sprache
            | ...
          [ /code ]
        und anschließend einfach mal die Vorschau verwenden :-)

        hmm, naja, dann werden die zitatzeichen aber sprachabhaengig eingefaerbt:

          
        
        > print 'foo';  
        
        
          
        | print 'foo';
        

        das koennte sogar zu missverstaendnissen fuehren:

          
        |if($foo &  
        | $bar &  
        | $baz){...};
        

        prost [1]

        Vinzenz,
        [1] dessen Gaumen nicht gut genug geschult ist, um Biere zu bewerten,

        doch, doch! diese ausrede zaehlt nicht, zumal es bei den biertestern eher ueblich ist, den gewoehnlichen gaumen zu benutzen; also nicht so wie bei den weinkennern... ;-)

        der Biere leider auch nicht gut in Kategorien einteilen kann

        doch. das gegenteil ist der fall. wir (menschen) _muessen_ in schubladen denken, aber jetzt wird's langsam loungig.

        aber weiß, welches Bier ihm schmeckt.

        eben. dann teilst du bier schon mal in mindestens zwei kategorien ein. ;-)

        Fällt ein nicht erwähntes Bier unter die Kategorie "Spezial"?

        nicht erwaehntes bier? spezial? *aufm_schlauch_steh*

        ich verwende das wort prost meist in seiner urspruenglichen lateinischen bedeutung (siehe auch http://de.wikipedia.org/wiki/Prosit) "es moege nuetzen" und beziehe es auf die kommunikation.

        prost
        seth