NAME

Locale::Maketext::TieHash::nbsp - Tying subroutine to a hash

VERSION

1.00

SYNOPSIS

use strict;
use warnings;

use Locale::Maketext::TieHash::nbsp;

without a special configuration (using entities)

tie my %nbsp, 'Locale::Maketext::TieHash::nbsp';
print $nbsp{'15 pieces'};
# result: '15 pieces'

configuration of unicode separator string

use charnames qw(:full);

tie my %nbsp, 'Locale::Maketext::TieHash::nbsp', separator => "\N{NO-BREAK SPACE}";
print $nbsp{'15 pieces'};
# result is eq "15\N{NO-BREAK SPACE}pieces"

configuration of visible string

To test the script, store an visible string.

tie my %nbsp, 'Locale::Maketext::TieHash::nbsp', separator => '~';
print $nbsp{'15 pieces'};
# result: '15~pieces'

configuration using a subroutine

tie my %nbsp, 'Locale::Maketext::TieHash::nbsp', sub {
    (my $string = shift) =~ s{ }{*}msg;
    return $string;
};
print $nbsp{'15 pieces'};
# result: '15*pieces'

read configuration

my %config = tied(%nbsp)->config();

write configuration

my %config = tied(%nbsp)->config(separator => $separator);

or

my %config = tied(%nbsp)->config(sub => $code_ref);

DESCRIPTION

Subroutines don't have interpreted into strings. The module ties a subroutine to a hash. The Subroutine is executed at fetch hash. At long last this is the same, only the notation is shorter.

Sometimes the subroutine 'sub' expects more than 1 parameter. Then submit a reference on an array as hash key.

SUBROUTINES/METHODS

method TIEHASH

tie my %nbsp, 'Locale::Maketext::TieHash::nbsp';

'TIEHASH' ties your hash and set the options defaults.

method config

Stores the seperator string or a subroutine.

tied(%nbsp)->config(
    sub => sub {
        (my $string = shift) =~ s{ }{ }msg;
        return $string;
    },
);

or

tied(%nbsp)->config(
    separator => ' ',
);

'config' accepts all parameters as Hash and gives a Hash back with all set attributes.

method FETCH

Give your string as key of your hash. 'FETCH' will substitute the whitespace to ' ' and give it back as value.

# Substitute
print $nbsp{$string};

DIAGNOSTICS

All methods can croak at false parameters.

CONFIGURATION AND ENVIRONMENT

nothing

DEPENDENCIES

parent

Tie::Sub

Params::Validate Comfortable parameter validation

INCOMPATIBILITIES

not known

BUGS AND LIMITATIONS

not known

SEE ALSO

Locale::Maketext Localisation framework

Tie::Hash

AUTHOR

Steffen Winkler

LICENSE AND COPYRIGHT

Copyright (c) 2004 - 2009, Steffen Winkler <steffenw at cpan.org>. All rights reserved.

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.