POD AN::Tools
NAME
AN::Tools
Serves only to load all other AN::Tools::* modules in a common object and provide shortcuts to their methods.
SYNOPSIS
use AN::Tools;
# Get a common object handle on all AN::Tools::* modules.
my $an=AN::Tools->new();
# Again, but this time tell the AN::Tools::String module to force the use of
# UTF-8 mode when reading it's built-in XML words file.
my $an=AN::Tools->new({
String => {
force_utf8 => 1,
},
});
DESCRIPTION
This module provides access to all the AN::Tools::* modules' methods. For details on what methods each module provides, please see their respective perldocs or visit the AN::Tools webite, https://alteeve.ca.
Some modules can be passed load-time values to alter how the AN::Tools suite starts. Where this is the case, you can pass a hash reference where the key structure is '$hashref->{module_name}{method_name}=arg' or, when a method takes several parameters, '$hashref->{module_name}{method_name}{arg_name}=arg'.
Currently supported load-time arguments:
- String
- To tell AN::Tools to force the use of UTF-8 mode when reading it's internal XML words file. The format is: {String}{force_utf8}=[0|1].
NOTES
All AN::Tools::* modules expects the data they receive to be in UTF-8 encoded format. Likewise, they return UTF-8 encoded strings. If you are getting weird output or are seeing a "wide character in print" error, check that you are not getting double-encoded UTF-8 strings by casting your data as UTF-8 in the first place.
METHODS
Below are the detailed usage instructions for the methods provided by this module.
new
Example
use AN::Tools;
# Get a handle on the MB::Tools object.
my $an=AN::Tools->new;
# With the handle to this module's object, you access the rest of the
# AN::Tools::* suite of modules by calling them by their method name. For
# example, to access AN::Tools::Math's 'round' method, call it like this:
$an->Math->round({number=>30.33754, places=>2});
# The format is always:
#$an->Module->Method(<parameters>);
Details
This is the constructor method used to access this object's handle on the various AN::Tools::* objects. It also provides access to the methods provided by these modules as seen in the example above. Access to each module's methods is formatted this way to make the resulting code clearer and somewhat self-documenting. This access method cannot be (safely) circumvented as AN::Tools does not use @ISA to access the child (sibling) module's methods nor do the other methods Export their methods. Attempting to directly access the child modules will fail as they require access to one another and expect to be able to do this via the AN::Tools module.
The current supported modules are:
- AN::Tools::Alert
- AN::Tools::Math
- AN::Tools::Readable
error
Example
# See if an error state exists.
die "AN::Tools failed on the last call. Error was: ".$an->error if $an->error;
Details
This method takes no arguments. It simply returns the last error if set, otherwise it returns undef. This method only has use if '$an->Alert->no_fatal_errors' has been set to '1'. Otherwise the method call with an error would have died before returning.
Child Module Access
In traditional perl parlance, these modules are siblings of this module. However, it makes a bit more sense to think of them as child objects because of how access is structured.
Alert
Example
# Access the example 'foo' method.
$an->Alert->foo.
Details
The AN::Tools::Alert module handles warnings and errors.
Please read this modules POD documentation using your favourite POD reader. The most common one at the command shell being perldoc.
perldoc AN::Tools::Alert
Math
Example
# Access the example 'foo' method.
$an->Math->foo.
Details
The AN::Tools::Math method handles mathmatical operations.
Please read this modules POD documentation using your favourite POD reader. The most common one at the command shell being perldoc.
perldoc AN::Tools::Math
Readable
Example
# Access the example 'foo' method.
$an->Readable->foo.
Details
The AN::Tools::Readable method handles converting large bits of data, generally numbers, sizes and UNIX timestamps, between more human readable formats and back
Please read this modules POD documentation using your favourite POD reader. The most common one at the command shell being perldoc.
perldoc AN::Tools::Readable
data
Example
# Get a handle on AN::Tool's internal data store.
my $data=$an->data;
Details
All AN::Tools modules store their data in a common, user-accessible hash reference. This allows easy access to variables read in from configuration files, a given language's word strings and so forth.
For example, say that your configuration file had the variable-value pair:
foo::bar = baz
You could see the value read for foo::bar by:
print "The value of 'foo::bar' is: [$data->{foo}{bar}]\n"; # prints "The value of 'foo::bar' is: [baz]";
Another example, though not realistic, would be to access the word string 'an_0000' in the language 'en_CA':
my $word=$an->data()->{words}{lang}{en_CA}{key}{an_0000}{content}; print "Word: [$word].\n"; # prints "Word: [AN::Tools rapid development suite.]."
Realistically though, you'll probably want to access strings via 'AN::Tools::String's 'get_word()' method.
SEE ALSO
Other modules in the AN::Tools suite:
AN::Tools::Alert AN::Tools::Math AN::Tools::Readable AN::Tools::String
LICENSE
Copyright (c) 2009 Alteeve's Niche!. All rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Any questions, feedback, advice, complaints or meanderings are welcome. | |||
Alteeve's Niche! | Alteeve Enterprise Support | Community Support | |
© 2024 Alteeve. Intelligent Availability® is a registered trademark of Alteeve's Niche! Inc. 1997-2024 | |||
legal stuff: All info is provided "As-Is". Do not use anything here unless you are willing and able to take responsibility for your own actions. |