Guillaume Aubert


App::GitHooks::Plugin::PerlCompile - Verify that Perl files compile without errors.


This plugin verifies that staged Perl files compile without errors before allowing the commit to be completed.


Version 1.1.0


This plugin supports the following options in the [PerlCompile] section of your .githooksrc file.

        lib_paths = ./lib, ./t/lib


This option gives an opportunity to include other paths to Perl libraries, and in particular paths that are local to the current repository. It allows testing that the Perl files compile without having to amend PERL5LIB to include the repository-specific libraries.

        lib_paths = ./lib, ./t/lib



Return a pattern to filter the files this plugin should analyze.

        my $file_pattern = App::GitHooks::Plugin::PerlCompile->get_file_pattern(
                app => $app,


Return a description of the check performed on files by the plugin and that will be displayed to the user, if applicable, along with an indication of the success or failure of the plugin.

        my $description = App::GitHooks::Plugin::PerlCompile->get_file_check_description();


Code to execute for each file as part of the pre-commit hook.

  my $success = App::GitHooks::Plugin::PerlCompile->run_pre_commit_file();


Please report any bugs or feature requests through the web interface at I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.


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

        perldoc App::GitHooks::Plugin::PerlCompile

You can also look for information at:


Guillaume Aubert, <aubertg at>.


Copyright 2013-2015 Guillaume Aubert.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 3 as published by the Free Software Foundation.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see