String::ToIdentifier::EN(3p)

NAME
String::ToIdentifier::EN - Convert Strings to English Program Identifiers

SYNOPSIS
    use utf8;
    use String::ToIdentifier::EN 'to_identifier';

    to_identifier 'foo-bar';             # fooDashBar
    to_identifier 'foo-bar', '_';        # foo_dash_bar
    to_identifier 'foo.bar', '_';        # foo_dot_bar
    to_identifier "foo\x{4EB0}bar";      # fooJingBar
    to_identifier "foo\x00bar";          # fooNullCharBar
    to_identifier "foo\x00\x00bar";      # foo2NullCharsBar
    to_identifier "foo\x00\x00bar", '_'; # foo_2_null_chars_bar

DESCRIPTION
This module provides a utility method, "to_identifier" for converting an arbitrary string into a readable representation using the ASCII subset of "\w" for use as an identifier in a computer program. The intent is to make unique identifier names from which the content of the original string can be easily inferred by a human just by reading the identifier.

If you need the full set of "\w" including Unicode, see the subclass String::ToIdentifier::EN::Unicode.

Currently, this process is one way only, and will likely remain this way.

The default is to create camelCase identifiers, or you may pass in a separator char of your choice such as "_".

Binary char groups will be separated by "_" even in camelCase identifiers to make them easier to read, e.g.: "foo_2_0xFF_Bar".

EXPORT
Optionally exports the "to_identifier" function.

SUBROUTINES

  to_identifier
Takes the string to be converted to an identifier, and optionally a separator char such as "_". If a separator char is not provided, a camelCase identifier will be returned.

METHODS

  string_to_identifier
The class method version of "to_identifier", if you want to use the object oriented interface.

SEE ALSO
String::ToIdentifier::EN::Unicode, Text::Unidecode, Lingua::EN::Inflect::Phrase

AUTHOR
Rafael Kitover, "<rkitover@cpan.org>"

BUGS
Please report any bugs or feature requests to "bug-string-toidentifier-en at rt.cpan.org", or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=String-ToIdentifier-EN <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=String-ToIdentifier-EN>. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

REPOSITORY
http://github.com/rkitover/string-toidentifier-en <http://github.com/rkitover/string-toidentifier-en>

SUPPORT
More information on this module is availableat:

•   RT: CPAN's request tracker (report bugs here)

    http://rt.cpan.org/NoAuth/Bugs.html?Dist=String-ToIdentifier-EN <http://rt.cpan.org/NoAuth/Bugs.html?Dist=String-ToIdentifier-EN>

•   AnnoCPAN: Annotated CPAN documentation

    http://annocpan.org/dist/String-ToIdentifier-EN <http://annocpan.org/dist/String-ToIdentifier-EN>

•   CPAN Ratings

    http://cpanratings.perl.org/d/String-ToIdentifier-EN <http://cpanratings.perl.org/d/String-ToIdentifier-EN>

•   MetaCPAN

    <https://metacpan.org/module/String::ToIdentifier::EN>

•   Search CPAN

    http://search.cpan.org/dist/String-ToIdentifier-EN/ <http://search.cpan.org/dist/String-ToIdentifier-EN/>

LICENSE AND COPYRIGHT
Copyright (c) 2011 Rafael Kitover <rkitover@cpan.org>.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.