ack 2.0 is a greplike tool optimized for programmers searching large heterogeneous trees of source code.
Perl Parrot Ruby C Makefile Fortran
Latest commit f0ad2b9 Sep 7, 2016 @hoelzro hoelzro Remove __END__ from end of ack
For some reason, it screws up tests
Failed to load latest commit information.
dev Merge pull request #536 from pdl/no-parrot-warn Jun 9, 2016
garage Add ack 2.14 to garage Mar 6, 2015
t Add -T to ack-ignore-file Jun 10, 2016
xt fix indents Dec 26, 2013
.ackrc Comment about intended audience of this .ackrc Jan 5, 2014
.dir-locals.el Tell Emacs about ack's preferred indentation style Jun 28, 2012
.gitignore Ignore generated completion scripts Apr 11, 2014
.travis.yml Properly install Perl::Critic without tests on Travis Sep 14, 2013 Releasing 2.15_02 Dec 17, 2015 Eliminate a lot of calls to File::Spec->splitpath Sep 18, 2014 Fix up block quotes Feb 24, 2015
Changes Credit Nick Morrott Jun 9, 2016 Remove unused File::Spec usage. Squash together some code. Dec 27, 2013 Merge pull request #527 from knowledgejunkie/xsd Jun 9, 2016 Check return value of close(), and be more lenient on comments in the… Jan 5, 2014 Fix some stray paragraphs in the man page. Feb 6, 2016 another note Jul 31, 2014 Reference in the developer's guide Feb 24, 2015 Add a debugging module for Andy and my use Jun 11, 2012 Add default filter Nov 14, 2011 quieting more warnings Dec 17, 2013 Remove unused File::Spec usage. Squash together some code. Dec 27, 2013 Remove stringification overload for Filters Oct 28, 2014 Merging down the dev/ branch for 2.03_02. Many speedups get us to onl… Apr 24, 2013 Make all filter objects blessed hashes Jun 12, 2012 Added filter groups to speed up "is:" and "ext:" Sep 13, 2013 Use basename more Sep 18, 2014 Enable usage of IsPathGroup Oct 28, 2014 Add IsPathGroup module Oct 28, 2014 took out the blockquote Dec 28, 2012
MANIFEST Add new test to manifest Jan 1, 2016
Makefile.PL Fix typos Dec 7, 2015 Group matches into match groups Sep 18, 2014 Group matches into match groups Sep 18, 2014 add a link to Design Guide Dec 31, 2013 Add basename as an "abstract method" to Resource Sep 30, 2014 Ignore permission errors from File::Next when using -s Mar 15, 2014
ack Remove __END__ from end of ack Sep 7, 2016
perlcriticrc No checking on close/closedir Jan 26, 2014
perltidyrc Add perlcritic and perltidy files from Ack1 Nov 2, 2011
record-options Check for coverage of extra options Apr 27, 2012
squash Fixed the build process to not rely on perldoc -l to find File::Next Dec 27, 2013
tack Fix argument expansion for tack Feb 7, 2013
test-pager Add pager test Jul 27, 2012

ack 2.0

ack is a code-searching tool, similar to grep but optimized for programmers searching large trees of source code. It runs in pure Perl, is highly portable, and runs on any platform that runs Perl.

ack is written and maintained by Andy Lester (


ack requires Perl 5.8.8 or higher. Perl 5.8.8 was released January 2006.

# Required
perl Makefile.PL
make test
sudo make install # for a system-wide installation (recommended)
# - or -
make ack-standalone
cp ack-standalone ~/bin/ack2 # for a personal installation

Build status: Build Status


Developer's Guide

Design Guide