NAME String::Ident - clean-up string to be used as identifier and in URLs SYNOPSIS my $ident = String::Ident->cleanup('Hello wœrlď!') is($ident,'Hello-woerld') DESCRIPTION clean-up string to be used as identifier and in URLs METHODS cleanup() cleanup does the following things to convert your messy string into something that you can use as an identifier: # replace unicode by ascii $text = unidecode($text); # replace anything basides numbers, letters and dash by dash $text =~ s/[^-A-Za-z0-9]/-/g; # one dash is enough $text =~ s/--+/-/g; # no need to start or end with a dash $text =~ s/-$//g; $text =~ s/^-//g; # maximum length $text = substr($text,0,30); # min length is set to 4 filled in by random letters cleanup per default truncates the text to 30 chars. You can pass in some other limit, or -1 to not truncate: cleanup("some very long txt Lorem ipsum dolor sit amet, consectetur adipiscing elit, ", 15); # 'some-very-long-toxt-' cleanup("some very long txt Lorem ipsum dolor sit amet, consectetur adipiscing elit, ", -1); # 'some-very-long-toxt-Lorem-ipsum-dolor-sit-amet-consectetur-adipiscing-elit' AUTHOR Jozef Kutej, CONTRIBUTORS The following people have contributed to the String::Ident by committing their code, sending patches, reporting bugs, asking questions, suggesting useful advises, nitpicking, chatting on IRC or commenting on my blog (in no particular order): * Andrea Pavlovic * Syohei YOSHIDA * Thomas Klausner, THANKS Thanks to VV - Verband sterreichischer Volkshochschulen for sponsoring development of this module. LICENSE AND COPYRIGHT 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.