NAME
System::Sub::AutoLoad - Auto-wrap external commands as DWIM subs
VERSION
version 0.130210
SYNOPSIS
Basic usage
Any unknown sub will become a System::Sub
.
use System::Sub::AutoLoad;
my $hostname = hostname();
Usage with forward declaration
Allows to avoid using parentheses. System::Sub
import stays lazy.
use System::Sub::AutoLoad qw(hostname);
my $hostname = hostname;
Usage with forward declaration command options
Options definitions will be checked lazily at the first call to the AUTOLOAD for that sub.
use System::Sub::AutoLoad hostname => [ 0 => '/bin/hostname' ];
my $hostname = hostname;
DESCRIPTION
Any unknown sub in your code will be transformed into a System::Sub
at its first call. This is lazy import for System::Sub
.
To avoid using parentheses after the sub name, you usually have to predeclare the sub with either a forward declaration (a sub without body such as sub foo;
) or with the subs
module. With Sytem::Sub::AutoLoad
you can simply list the subs names on the use
line and that will be done for you.
You can also pass System::Sub
options to the sub, but they will be lazily analysed: this is the full System::Sub
power, but with lazy import.
Implementation details
This module exports an AUTOLOAD sub that will import the sub with System::Sub
at its first call.
AUTHOR
Olivier Mengué, dolmen@cpan.org
.
COPYRIGHT & LICENSE
Copyright © 2012 Olivier Mengué.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl 5 itself.