This module can load a perl module at run-time, via the keyword require.
SYNOPSIS
var req = (require "My::Perl::Module");
if (nil != req) { # module successfully loaded
var result = (req.some_method);
}
METHODS
frequire
Require.frequire() -> Obj
Return the
require
require(String) -> Sidef::Module::Caller
Loading Object-Oriented modules:
var req = (require "Some::Perl::Module");
When the Perl module is successfully loaded, it returns a Sidef::Module::Caller object, which can call any method from the required module.
var oo_mod = (req.new);
var result = (oo_mod.some_method);
var solved = (oo_mod.solve(1, 4));
Loading Functional-oriented modules:
To initialize a functional-oriented module, apply an empty method ('->()') on the object returned by the require keyword.
var func_mod = (require "Some::Perl::Module"->()); # notice the '->()'
var result = (func_mod->some_function(x,y));
var solved = (func_mod->solve(1, 4));
Real object-oriented module loading example:
var req = (require 'LWP::UserAgent');
if (nil != req) { # if the module is successfully loaded
var lwp = (req.new(
'show_progress' => 1,
'timeout' => 10,
'agent' => 'Mozilla/5.0',
));
var resp = (lwp->get("http://google.com"));
if (Bool.new(resp->is_success)) {
var content = (Str.new(resp->content));
# ... do something with the content variable ...
}
else {
"[ERROR] Response: %s\n".sprintf(Str.new(resp->status_line)).warn;
}
}
Real functional-oriented module loading example:
var spec = ( require 'File::Spec::Functions'->() );
# Calling the curdir() function
var curdir = (Dir.new(spec.curdir));
# Call the catfile() function
var file = (File.new(spec.catfile("my", "dir", "file.ext")));
## On Unix, file is 'my/dir/file.ext'
Module Install Instructions
To install Sidef, copy and paste the appropriate command in to your terminal.