App::Ack - A container for functions for the ack program
Version 1.60
If you want to know about the ack program
No user-serviceable parts inside. ack is all that should use this.
Standard filter to pass as a File::Next descend_filter. It returns true if the directory is any of the ones we know we want to skip.
Returns a list of types that $filename could be. For example, a file foo.pod could be "perl" or "parrot".
The filetype will be undef if we can't determine it. This could be if the file doesn't exist, or it can't be read.
undef
It will be '-ignore' if it's something that ack should always ignore, even under -a.
Returns true if the filename is one that we can search, and false if it's one that we should ignore like a coredump or a backup file.
Checks for sane command-line options. For example, -l doesn't make sense with -C.
Put out an ack-specific warning.
Die in an ack-specific way.
Returns a list of all the types that we can detect.
Dumps the help page to the user.
Display the filetypes help subpage.
Prints the version information for ack.
is_interactive()
This is taken directly from Damian Conway's IO::Interactive. Thanks, Damian!
This subroutine returns true if *ARGV and *STDOUT are connected to the terminal. The test is considerably more sophisticated than:
*ARGV
*STDOUT
-t *ARGV && -t *STDOUT
as it takes into account the magic behaviour of *ARGV.
You can also pass is_interactive a writable filehandle, in which case it requires that filehandle be connected to a terminal (instead of *STDOUT). The usual suspect here is *STDERR:
is_interactive
*STDERR
if ( is_interactive(*STDERR) ) { carp $warning; }
To install App::Ack, copy and paste the appropriate command in to your terminal.
cpanm
cpanm App::Ack
CPAN shell
perl -MCPAN -e shell install App::Ack
For more information on module installation, please visit the detailed CPAN module installation guide.