> -----Original Message-----
> From: Wagner, David --- Senior Programmer Analyst --- WGO 
> [mailto:[EMAIL PROTECTED] 
> Sent: Wednesday, June 04, 2008 11:08
> To: Gunwant Singh; beginners@perl.org
> Subject: RE: Reg. Directory listing program
> 
> > -----Original Message-----
> > From: Gunwant Singh [mailto:[EMAIL PROTECTED] 
> > Sent: Wednesday, June 04, 2008 10:02
> > To: beginners@perl.org
> > Subject: Reg. Directory listing program
> > 
> > Hi,
> > 
> > I am new to this mailing list and I am very new to PERL. So, 
> > please bear
> > with me for my questions.
> > I wrote a code that lists files in a directory with the 
> > permissions. I am
> > coding for MS-Windows.
> > Here is my code:
> > 
> > *1 use strict;
> > 2 use warnings;
> > 3 use File::stat();
> > 4
> > 5 opendir (DH, "subcode") or die "$!";
> > 6 foreach my $file(readdir DH)
> > 7 {
> > 8 my $perm=stat($file)->mode;
> 
>       you need something like:
>     my $filestat = stat($file);
>     my $perm=$filestat->mode;
        I was looking at Programming Perl and if you want to make sense
of the mode, then should 'and' with 07777 and print out using %04o (
octal output ), so something like:
        my $perm=$filestat->mode & 07777;

>  but this will not work correctly unless you are already positioned on
> the right directory location. So either you can do a chdir to 
> the folder
> you are doing or a concatenate of "subcode" . $file to get the file
> status correctly.
> 
> Wags ;)
> 
> > 9 print "$file\t$perm\n";

        Then change print to
        printf "$file %04o\n", $perm;

Wags ;)

> > 10 }
> > 11 closedir (DH);
> > 
> > *I am getting the listing of file just fine if I dont add 
> > line 8. But as
> > soon as I try to display the permissions, I get this:
> > 
> > *Can't call method "mode" without a package or object reference at
> > C:\Documents a
> > nd Settings\Myself\Desktop\code\dir-op.pl line 8.
> > 
> > *What am I doing wrong!
> > 
> > Thanks.
> > 
> > -- 
> > Gunwant Singh
> > 
> 
> **********************************************************************
> This message contains information that is confidential and 
> proprietary to FedEx Freight or its affiliates.  It is 
> intended only for the recipient named and for the express  
> purpose(s) described therein.  Any other use is prohibited.
> **********************************************************************
> 
> 
> -- 
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> http://learn.perl.org/
> 
> 
> 

--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/


Reply via email to