Steffen Winkler > Locale-Maketext-TieHash-nbsp-1.02 > Locale::Maketext::TieHash::nbsp

Download:
Locale-Maketext-TieHash-nbsp-1.02.tar.gz

Dependencies

Annotate this POD

CPAN RT

Open  0
Report a bug
Module Version: 1.02   Source  

NAME ^

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

VERSION ^

1.02

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 => q{~};
    print $nbsp{'15 pieces'};
    # result: '15~pieces'

configuration using a subroutine

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

write/read configuration

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

or

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

EXAMPLE ^

Inside of this Distribution is a directory named example. Run this *.pl files.

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.