NAME

Text::Sprintf::Named - sprintf-like function with named conversions

VERSION

Version 0.01

SYNOPSIS

use Text::Sprintf::Named;

my $formatter =
    Text::Sprintf::Named->new(
        {fmt => "Hello %(name)s! Today is %(day)s!"
    );

# Returns "Hello Ayeleth! Today is Sunday!"
$formmater->format({'name' => "Ayeleth", 'day' => "Sunday"});

# Returns "Hello John! Today is Thursday!"
$formatter->format({'name' => "John", 'day' => "Thursday"});

DESCRIPTION

Text::Sprintf::Named provides a sprintf equivalent with named conversions. Named conversions are sprintf field specifiers (like "%s" or "%4d") only they are associated with the key of an associative array of parameters. So for example "%(name)s" will emit the 'name' parameter as a string, and "%(num)4d" will emit the 'num' parameter as a variable with a width of 4.

FUNCTIONS

my $formatter = Text::Sprintf::Named->new({fmt => $format})

Creates a new object which formats according to the $format format.

$formatter->format({args => \%bindings})

Returns the formatting string as formatted using the named parameters pointed to by the args parameter.

AUTHOR

Shlomi Fish, shlomif@cpan.org , http://www.shlomifish.org/

BUGS

Please report any bugs or feature requests to bug-text-sprintf-named at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Text::Sprintf::Named. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

perldoc Text::Sprintf::Named

You can also look for information at:

ACKNOWLEDGEMENTS

The (possibly ad-hoc) regex for matching the optional digits+symbols parameters' prefix of the sprintf conversion was originally written by Bart Lateur (BARTL on CPAN) for his String::Sprintf module.

COPYRIGHT & LICENSE

Copyright 2006 Shlomi Fish, all rights reserved.

This program is released under the following license: MIT X11.

(Note that the module's meta-data specifies it's distributed under the BSD license, which is the closest option to the MIT X11 license.)