NAME

App::File::Grepper - Greps files for pattern

SYNOPSIS

Runs a File::Find on the specified directories, and greps all text files for a pattern.

use App::File::Grepper;
App::File::Grepper->main( $options, @dirs );

RATIONALE

There are many tools that can do this, e.g. ack. However none of these can call an editor when a file matches the search argument and that is something I often need.

OPTIONS

The first argument to the main() method is a reference to a hash with options.

pattern

The pattern to grep. If it starts with a slash it is interpreted as a perl pattern. Otherwise it is assumed to be a literal text to grep for.

If the text does not contain any uppercase letters, matching will be done case-insensitive unless overridden by option ignorecase.

ignorecase

If defined, matching will be case-insensitive according to the value of ignorecase.

edit-with-emacs

Pass each file where the pattern is found to the emacs editor client.

edit-with-vi

Pass each file where the pattern is found to the vi editor.

view

Pass each file where the pattern is found to the less viewer.

filter

A perl pattern to select which files must be processed. Note that this pattern is applied to the basename of each file, not the full path.

exclude

A perl pattern to select which files must be rejected. Note that this pattern is applied to the basename of each file, not the full path. Also, this pattern is applied before the filter pattern.

Version control directories RCS, CVS, .svn, .git and .hg are always excluded, as are common editor backups.

AUTHOR

Johan Vromans, <jv at cpan.org>

BUGS

Please report any bugs or feature requests to bug-app-file-grepper at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=App-File-Grepper. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

Development of this module takes place on GitHub: https://github.com/sciurius/afg.

You can find documentation for this module with the perldoc command.

perldoc App::Packager

Please report any bugs or feature requests using the issue tracker on GitHub.

ACKNOWLEDGEMENTS

This program was inspired by ack not having a -e option.

COPYRIGHT & LICENSE

Copyright 2012,2016,2022 Johan Vromans, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

1 POD Error

The following errors were encountered while parsing the POD:

Around line 237:

=back without =over