Olivier Mengué > System-Sub-0.130210 > System::Sub::AutoLoad

Download:
System-Sub-0.130210.tar.gz

Dependencies

Annotate this POD

Website

CPAN RT

Open  0
View/Report Bugs
Module Version: 0.130210   Source  

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.

syntax highlighting: