Gunwant Singh wrote:
Hi,
Hello,
I am new to this mailing list and I am very new to PERL.
perldoc -q "What.s the difference between .perl. and .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();
perldoc -f use
[snip]
use Module LIST
[snip]
If you do not want to call the package’s "import" method
(for instance, to stop your namespace from being altered),
explicitly supply the empty list:
use Module ();
So you are using the module File::stat but you are not importing any of
its methods.
perldoc File::stat
[snip]
DESCRIPTION
This module’s default exports override the core stat() and
lstat() functions, replacing them with versions that return
"File::stat" objects.
4
5 opendir (DH, "subcode") or die "$!";
6 foreach my $file(readdir DH)
7 {
8 my $perm=stat($file)->mode;
Here you are calling the method "mode" but it is not available because
stat() is the Perl built-in function and not the overridden object that
File::stat provides. Also you are trying to stat() $file in the current
directory and not in the "subcode" directory where it is actually located.
9 print "$file\t$perm\n";
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!
John
--
Perl isn't a toolbox, but a small machine shop where you
can special-order certain sorts of tools at low cost and
in short order. -- Larry Wall
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/