Harry wrote:
>> This new coding although easier to look at and probably more
>> efficient, isn't really any faster or at least not appreciably. It
>> still goes to each and every numbered file.
John replied:
> In most file systems the file names are not stored in any particular
> order so in order to find every file of a certain type you have to
> look at every file in a directory to determine if it is the type you
> want.
So I guess there just isn't any tricky fast way to get just the
directory names then eh? This is on ext3 fs but about the only real
change I could make there would be to reiserfs or something and I'll
assume that wouldn't really change the problem.
>> [...] snipped new code
>> Also changing the file name regex from
>> /^\d+$/ to /^\d/ will cause problems in some directories where
>> there may be such things as 780~ or even 123.bak
>
> Your original example used /^\d+/ not /^\d+$/ and /^\d/ does the
> same thing as /^\d+/.
Oh .. now I see where you got it. Because the actual program used
/^\d+$/ for the reasons I listed. Must have been a foible or typo
during conversion to mail message. I might not have cut and pasted
all of it or changed the program after posting... or something.
[...]
> sub something { ... }
> find( \&something, @directories );
>
> And
>
> find( sub { ... }, @directories );
>
> Do the same thing but the first uses a reference to a named
> subroutine and the second uses a reference to an anonymous
> subroutine.
OK, thanks for clearing that up...Is one better than the other in some
way?
> use File::Spec;
> use File::Find;
[...]
> my @top_dir = map File::Spec->rel2abs($_), splice @ARGV;
> my $file = './uniq_dir_under_news';
Is using File::Spec in this way, faster or more efficient than using
Cwd like in the original? Or are you just showing another approach?
Thanks for that too, I hadn't run into File::Spec as yet and now have
a handy reference to its use when I need it.
Those perldoc pages are terrrible about showing enough examples. But
mainly because I lack the expertise to understand the ones they do
give.
Well thanks for your usual patience and explanations...
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>