Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re:x3 recurse directories and sub-directories (bad code warning)

by grinder (Bishop)
on Oct 12, 2001 at 16:38 UTC ( [id://118455]=note: print w/replies, xml ) Need Help??


in reply to Re: Re: recurse directories and sub-directories
in thread recurse directories and sub-directories

The first two lines to match for the current or parent directory could be rewritten as next if $file =~ /^\.{1,2}$/;.

But it would be better not to, because it is a potential time-bomb waiting to explode. Why do people keep dragging out this broken regexp, when a couple of conditionals will do the trick?

next if $file eq '.' or $file eq '..';

--
g r i n d e r

Replies are listed 'Best First'.
(dkubb) Re: (4) recurse directories and sub-directories (bad code warning)
by dkubb (Deacon) on Oct 12, 2001 at 18:43 UTC

    For the sake of defensive programming, and to be cross platform compatible, you could also use File::Spec::Functions to be safe.

    File::Spec::Functions has two routines that will return the characters used to represent the current and upper directory for your specific operating system. While it may be true that most OS's use "." and ".." to represent the current directory and upper directory, it may not necessarily be garaunteed. If it was, I doubt these functions would have been put into the module in the first place. =)

    Here's your example using File::Spec::Functions:

    use File::Spec::Functions qw(curdir updir); #.. next if $file eq curdir or $file eq updir;

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://118455]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others chilling in the Monastery: (3)
As of 2024-04-25 19:55 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found