- Talking with another program through an interface
- Passing values through an API, like HTML::Template
- Dealing with people who are cute and like to use the zero-but-true value "0E0"
- Making it explicit to the maintainer (who is usually me, 6 months down the road) exactly what this is meant for
- Doing validation checks so that I can be certain something is useful only in a boolean context.
It's a minor point, but it's those details that I find separate the beginner from the expert.
We are the carpenters and bricklayers of the Information Age.
Then there are Damian modules.... *sigh* ... that's not about being less-lazy -- that's about being on some really good drugs -- you know, there is no spoon. - flyingmoose
I shouldn't have to say this, but any code, unless otherwise stated, is untested