X-Spam-Check-By: sourceware.org Message-ID: <195b3f1f0706230058s1a70cfc0iac2f45e06508c587@mail.gmail.com> Date: Sat, 23 Jun 2007 16:58:34 +0900 From: "Wynfield Henman" To: cygwin AT cygwin DOT com Subject: is perl braindead? MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com From what I read the following should work, but it doesn't. Can one of you familiar with cygwin's perl help me out. Why doesn't the test, -d, for directory work on the subdirectory? It should, in my considered opinion. Below is sufficient code to perform a simple test. Your help is appreciated. Regards, wynfield prepare for the test from the command line: $ mkdir /bozo $ mkdir /bozo/bozo_the_clown_dir Check this: find /bozo -type d -print /bozo /bozo/bozo_the_clown_dir -- ok we have a directory and it has a subdirectory Sample code: ------------------ start of simple perl program #! /bin/perl my $ldir="/bozo"; if ( ! opendir DH, $ldir) { print "Couldn't open as a dir: $ldir. \n"; exit 0; } print "Processing directory: $ldir\n"; while ( $_ = readdir(DH) ) # will be either a file or directory name { if ( $_ eq "." or $_ eq ".." ) { print "dir . or ..\n"; next; } if ( -d $_ ) { print "This is directory: $_\n"; next; } print "Escaped detection $_\n"; } close (DH); ---------------------------- end of sample code -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/