in reply to "force string context"?

Personally, I would format element identifiers in some way so they're never a seen as a decimal number. That's inviting trouble. Imagine a library where some C maintenance coder is going to use sscanf("%f") to read Dewey Decimal book catalogues. Or the problems when you compare which Perl version is newer: 5.005, 5.6.1, 5.8 or 5.10.

It doesn't have to be complicated. Make your user_id begin with the letter U or something. Just make it clear to anyone reading the code or reading the output that a user_id should never be seen as a plain decimal number.

--
[ e d @ h a l l e y . c c ]