NAME
filename - Perl module to load files at compile-time, without BEGIN blocks.
SYNOPSIS
# Instead of "BEGIN { require '/path/to/file.pm' }"
# use the more succinct:
use filename '/path/to/file.pm';
# Or, if you need to do include a file relative to the program:
use FindBin qw($Bin);
use filename "$Bin/../lib/Application.pm";
# Do it at runtime:
filename->require('/path/to/file.pm');
# Throw it into a loop:
say( 'Required: ', $_ ) foreach grep filename->require, @files;
DESCRIPTION
This module came about because there was a need to include some standard boilerplate that included some configuration and application specific paths to all modules for an application, and to do it at compile time. Rather than repeating BEGIN { require ... }
in every single entry point for the application, this module was created to simplify the experience.
The intention is to have this module be equivalent to "require" in perlfunc, except that it's run at compile time (via "use" in perlfunc), rather than at runtime.
METHODS
require( $filename = $_ )
Does the equivalent of "require" in perlfunc on the supplied $filename
, or $_
if no argument is provided.
Must be called as a class method: filename->require( $filename )
BUGS
Please report any bugs or feature requests on the bugtracker website https://github.com/rkleemann/filename/issues
When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.
VERSION
This document describes version v0.20.008 of this module.
AUTHOR
Bob Kleemann <bobk@cpan.org>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2019 by Bob Kleemann.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)