Skip to content
ack 2.0 is a greplike tool optimized for programmers searching large heterogeneous trees of source code.
Perl Parrot Ruby C Makefile FORTRAN
Failed to load latest commit information.
dev Don't close standard output before exec in timings script Mar 17, 2015
garage Add ack 2.14 to garage Mar 5, 2015
t Make sure files are sorted in output test Jan 3, 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 10, 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 17, 2014 Fix up block quotes Feb 24, 2015
Changes Update changelog to include new contribution Jan 3, 2016 Remove unused File::Spec usage. Squash together some code. Dec 27, 2013 Added JSP filetype Dec 17, 2015 Check return value of close(), and be more lenient on comments in the… Jan 5, 2014 Add missing Getopt::Long 2.38 update Dec 2, 2015 another note Jul 30, 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 16, 2013 Remove unused File::Spec usage. Squash together some code. Dec 27, 2013 Remove stringification overload for Filters Oct 27, 2014 Merging down the dev/ branch for 2.03_02. Many speedups get us to onl… Apr 23, 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 27, 2014 Add IsPathGroup module Oct 27, 2014 took out the blockquote Dec 28, 2012
MANIFEST Add new test to manifest Jan 1, 2016
Makefile.PL Update to Getopt::Long 2.38 because of GetOptionsFromString Feb 13, 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 14, 2014
ack Add Varadinsky to contributors Jan 1, 2016
perlcriticrc No checking on close/closedir Jan 25, 2014
perltidyrc Add perlcritic and perltidy files from Ack1 Nov 1, 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



Something went wrong with that request. Please try again.