Looking for a module...

Timothy S. Nelson wayland at smartchat.net.au
Tue Mar 4 16:58:12 CST 2003


On Tue, 25 Feb 2003, David Thomas wrote:

> > What do you mean "in different ways".  Do you want to end up with RanDoMlY
> > capiTalIzED text or Title-cased text or something in between.  If you can
> > give me an example of what you want to get to, I'm sure I can help you
> > find a module that does it, or something similar.
> 
> We are trying to get 'intelligent' title case primarily, enforced at a code
> level.
> 
> eg.
> the title => The Title
> ask for help => Ask for Help
> 
> Thanks for the help :)

	I don't know of any relevant modules, but I don't see this as a regex 
thing.  Basically, you want to follow the following rules:

1.	Capitalise the first letter
2.	Capitalise nouns, verbs, etc

	Unless you intend to do semantic analysis of the text (or find 
something which does), your best bet is probably to make a list of words not 
to capitalise (such as "the", "of", "for"...), in %lower, and then, with the 
title in $_ go:

-----------
foreach(split) {
	push @words, (defined($lower{$_})) ? $_ : ucfirst($_);
}

$words[0] = ucfirst($words[0]);

$_ = join " ", @words;
-----------

	Unless you can find a useful semantic parsing module, that's probably 
your best bet.  With no regicies.  

	:)


---------------------------------------------------------------------
| Name: Tim Nelson                 | Because the Creator is,        |
| E-mail: wayland at smartchat.net.au | I am                           |
---------------------------------------------------------------------

----BEGIN GEEK CODE BLOCK----
Version 3.1
GCS d? s: a-- C++>++++$ US+ P++ L++ E- W+++ N+ w+> M-- V- Y+>++ 
PGP->++ R(+) !tv B++ DI++++ D+ G e>++ h!/* y-
-----END GEEK CODE BLOCK-----





More information about the Melbourne-pm mailing list