A good line for a perl program aimed at running under various languages under modern Linux systems would be this:
use encoding ':locale';
That way, all calculations about string length (among others) are base on characters and not on bytes. For example, many Spanish characters, under a UTF-8 system such as mine (Ubuntu 9.04), are coded in a 2-byte scheme--but this should be transparent to the programmer. So that
length('aņo') yields
4 before adding
use encoding ':locale'; and
length('aņo') yields
3 after adding
use encoding ':locale';.