LogoopenSUSE Build Service > Projects
Sign Up | Log In

perl-File-Grep

File::Grep mimics the functionality of the grep function in perl, but
applying it to files instead of a list. This is similar in nature to the
UNIX grep command, but more powerful as the pattern can be any legal perl
function.

The main functions provided by this module are:

* fgrep BLOCK LIST

  Performs a grep operation on the files in LIST, using BLOCK as the
  critiria for accepting a line or not. Any lines that match will be added
  to an array that will be returned to the caller. Note that in void
  context, this function will immediate return true on the first match,
  false otherwise, and in scalar context, it will only return the number of
  matches.

  When entering BLOCK, the $_ variable will be localized to the current
  line. In addition, you will be given the position in LIST of the current
  file, the line number in that file, and the line itself as arguments to
  this function. While you can change $_ if necessary, only the original
  value of the line will be added to the returned list. If you need to get
  the modified value, use fmap (described below).

  The LIST can contain either scalars or filehandle (or filehandle-like
  objects). If the item is a scalar, it will be attempted to be opened and
  read in as normal. Otherwise it will be treated as a filehandle. Any
  errors resulting from IO may be reported to STDERR by setting the class
  variable, $File::Grep::SILENT to false; otherwise, no error indication is
  given.

* fmap BLOCK LIST

  Performs a map operation on the files in LIST, using BLOCK as the mapping
  function. The results from BLOCK will be appended to the list that is
  returned at the end of the call.

* fdo BLOCK LIST

  Performs the equivalent of a foreach operation on the files in LIST,
  performing BLOCK for each line in each file. This function has no return
  value. If you need to specialize more than what fgrep or fmap offer, you
  can use this function.

In addition, if you need additional fine control, you can use the internal
function _fgrep_process. This is called just like fgrep/fmap/fdo, as in
"_fgrep_process BLOCK LIST" except that you can control when the fucntion
'short circuits' by the return value from BLOCK. If, after processing a
line, the BLOCK returns a negative number, the entire process is aborted,
closing any open filehandles that were opened by the function. If the
return value is 0, the current file is aborted, closed if opened by the
function and the next file is then searched. A positive return value will
simply go on to the next line as appropriate.

Source Files

Filename Size Changed Actions
File-Grep-0.02.tar.gz 4.76 KB over 9 years ago Download File
perl-File-Grep.spec 4.14 KB about 3 years ago Download File

Comments for home:mgoppold:perl (0)