On Tuesday 25 July 2006 15:56, Rob Dixon wrote:
> Nishi Bhonsle wrote:
> > I got the last soln, ie to use File::Basename module. Please ignore the
> > last thread.
> >
> > I am still interested to know why Rob's soln doesnt work for me?
>
> So was I, and it's because I made a mistake. Because the values returned by
> readdir don't include a full path, the file test only works if the
> directory being listed is the current one. Try this version instead with my
> humble apologies.
[ snip ]
I'd experimented *before* I saw this post.
#!/usr/bin/perl
use strict;
use warnings;
my @dir = do {
# opendir my $dh, 'C:\build\Sample\NewDir' or die $!;
opendir my $dh, '/home/al/temp4' or die $!;
# grep -f, readdir $dh;
readdir $dh;
};
print "$_\n" foreach @dir;
# print @dir, "\n";
That works on Linux (not matters the current dir, I was in /home/al when I ran
it) which leads me to guess that something be wrong with the grep line.
Also, on Windows, doesn't it need to be either C:\\build\\Sample\\NewDir
or
C:/build/Sample/NewDir
In my past Win days, I used to do it like that latter.
I'm guess maybe it's must do that when it's double quotes. I see you used
single quotes.
--
Alan.
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>