NAME Sub::Spec::Use - Load a module specified using Sub::Spec URI VERSION version 0.02 SYNOPSIS use Sub::Spec::Use "http://example.com/My::Math" => qw(pyth); print pyth(3, 4); # 5 use Sub::Spec::Use "http://example.com/My::Math" => qw(:all); DESCRIPTION NOTICE: This module and the Sub::Spec standard is deprecated as of Jan 2012. Rinci is the new specification to replace Sub::Spec, it is about 95% compatible with Sub::Spec, but corrects a few issues and is more generic. "Perinci::*" is the Perl implementation for Rinci and many of its modules can handle existing Sub::Spec sub specs. This module provides load_ss_module(), usually used as shown in Synopsis, a la Perl's use(). This module uses Log::Any for logging. FUNCTIONS None are exported. load_ss_module(%args) -> [STATUS_CODE, ERR_MSG, RESULT] Load a module specified using Sub::Spec URI. "Load" a module specified by using Sub::Spec::URI (e.g. pm://Foo::Bar or http://example.com/Foo::Bar). Actually, what is being done is query the remote URI for available functions, and for each function, create a proxy (and get its spec from the URI, if available). The proxy function will then call the remote function. Returns a 3-element arrayref. STATUS_CODE is 200 on success, or an error code between 3xx-5xx (just like in HTTP). ERR_MSG is a string containing error message, RESULT is the actual result. Arguments ("*" denotes required arguments): * into => *str* Package name to put proxy functions into. Default is to be determined from URI. For example, if URI is pm://Foo::Bar, then 'into' will be set to 'Foo::Bar'. * uri* => *str* Location of module. TODO * Can't work with other server URI's except pm:// SEE ALSO Sub::Spec AUTHOR Steven Haryanto COPYRIGHT AND LICENSE This software is copyright (c) 2012 by Steven Haryanto. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.