The solution provided above by sh1tn is quite general, but from the second section of your question it might be overkill. If I understand well, you actually don't need regexes at all, otherwise I wouldn't understand how you could make the test you propose as the second alternative.

Regarding the efficiency issue, I think that there shouldn't be much difference between the two approaches; I don't want to Benchmark it because I don't want to fill a directory with useless files :)

I say that because, on a very general approach, I think that the OS has to load the directory table to give to Perl, and then you end up either analysing it by yourself, or leaving Perl to do it for you, which I don't think makes much difference. If you only want to test if some file exists, I'd stick to the simpler solution, that is:

my $basedir = "/path/to/directory"; my @candidates = qw ( this and that file ); my @present = grep { -e "$basedir/$_" } @candidates;
See perldoc -f -X for variants in the test, I've put the most general "file existence" test instead of your more specific "file is a plain file", thus including directories, fifos, etc.

Flavio (perl -e "print(scalar(reverse('ti.xittelop@oivalf')))")

Don't fool yourself.

In reply to Re: Integrating System commands with regex's by polettix
in thread Integrating System commands with regex's by rsiedl

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.