http://www.perlmonks.org?node_id=338758


in reply to strange File::Find thing?

You forgot to backwhack the dots in your patterns, and to anchor them at the end with a '$'. You're getting everything that contains 'h' or a 'c' (except as the first character).

Incidentally, you'll need to double the backwhack and backwhack the '$' unless you use // for the pattern (which is recommended). So you should spell it: if (/\.c$/ || /\.h$/) { push ... }

BTW, "$File::Find::dir/$_" is already available as $File::Find::name.

    -- Chip Salzenberg, Free-Floating Agent of Chaos

Replies are listed 'Best First'.
Re: Re: strange File::Find thing?
by McMahon (Chaplain) on Mar 22, 2004 at 20:44 UTC
    Thanks! I knew that regex looked odd, but I got fixated on the module. Have rearranged both attitude and code properly. -Chris