in reply to Mistakenly Believing split is using @_

i believe you are using the depricated feature.

if you don't set the value of split to an array, such as my @chars=split '', "I am a string";, then it's set to @_.

{ print scalar(my @chars=(split('', "I am a string"))) . "\n"; }
works fine. the scoping should eliminate the @chars var when you're done with it.

although, you might try length as in

print length("I am a string"), "\n";

~Particle