raw
current commit
180111.1 · Mention moosealikes.

ack3 design

Here we try to document ack’s design, including design decisions that have already been made, so that we don’t keep rehashing them.

Features that have been suggested but will not happen.

Sorting the filenames requires reading in the entire directory of filenames before searching, and this can be a performance hit. In fact, it can kill ack entirely on directories with absurdly large numbers of files in them.

Design choices that are inviolate.

No other modules may be used. That includes Moose or any Moose variants.

This file is intended to be able to be copied & pasted if necessary. It will not contain any characters out the range of [ -~]. See xt/coding-standards.t.

Design questions that have been investigated

It seems not. Brian M. Carlson investigated this and reported his findings here: https://github.com/petdance/ack2/issues/398

There seemed to be no effect.

The Perl toolchain takes care of the shebang at install time.

Guiding principles