in reply to Re: Access to directory -> Files -> contents & get the data
in thread Access to directory -> Files -> contents & get the data

I'm not sure what you are asking. If you want to know how to open a file then read the documentation for open. You would probably do that in a for loop for a fixed number of files. File::Find is more flexible, but might be more than you need.

To check the contents of the file use a regular expression match if necessary. If you are looking for a specific string, like 'EXIT', then just a simple equality if test (use eq not ==) will do the job.

You refer to Grep, which leaves me puzzled. Do you mean the Perl built-in grep or perhaps the UNIX utility program grep(1)? Using an external program like grep(1) from Perl is a waste, grep(1) does not do anything that perl can't do (except it uses a more primitive version of regular expressions).

Unless you download it from somewhere like GNU, then you won't have grep(1) on Microsoft Windows anyway. On Windows I always use a simple Perl version of egrep I have written. Hang on though....

Replies are listed 'Best First'.
Re^3: Access to directory -> Files -> contents & get the data (perl vs. grep)
by toolic (Bishop) on Sep 18, 2010 at 12:45 UTC
    Using an external program like grep(1) from Perl is a waste, grep(1) does not do anything that perl can't do
    I agree with your assertion that, from a functional standpoint, Perl can do everything that Unix grep can do. I also agree that it makes sense to strive to avoid external programs whenever possible, one reason being the portability issue you mentioned.

    However, it has been my experience that Unix grep is much faster than Perl under some circumstances; I have a small script which runs 50x faster if I replace the Perl file parsing code with Unix grep.

    My point is that it may not always be a complete waste to use external tools.