Hallo!

Try to change directory to "$ARGV[0]" before open:

chdir($ARGV[0]) || die "Cannot change dir: $!\n";
opendir $DIRHANDLE, "./";
.....

And (may be) It is better to use lstat(2) instead of stat(2) ?
In this case there will be correct dates of symbolic links.

Bret Goodfellow wrote:

Hi all,

I am attempting to list out the contents of a directory, and print the
last time accessed.  The data-time is not correct though.  I am running
this code on a Windows XP workstation.  There doesn't seem to be a real
easy way to get the timestamps of directories.  Hmmmm....   Here is the
code:

# deldir4.pl
use strict;
# use warnings;
use File::Find;

my $DIRHANDLE;
my $file;
my $write_secs;

opendir $DIRHANDLE, "$ARGV[0]" or die "Can't open directory handle: $!";

while ($file = readdir $DIRHANDLE) {
$write_secs = (stat($file))[9];
printf "file %s updated at %s\n", $file,
scalar localtime($write_secs);
}


closedir $DIRHANDLE;

I get the following output:

C:\BegPerl>deldir4.pl c:\db2_backup\udbt.0\db2\node0000\catn0000
file . updated at Wed Dec  1 10:53:32 2004
file .. updated at Tue Jan  1 00:00:00 1980
file 20050204 updated at Wed Dec 31 17:00:00 1969
file 20050228 updated at Wed Dec 31 17:00:00 1969
file 20050301 updated at Wed Dec 31 17:00:00 1969
file 20050302 updated at Wed Dec 31 17:00:00 1969
file 20050304 updated at Wed Dec 31 17:00:00 1969
file dir.lst updated at Wed Dec 31 17:00:00 1969
file march.txt updated at Wed Dec 31 17:00:00 1969

C:\BegPerl>






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




Reply via email to