An alternative viewpoint is that HTML::Template was written to accept a scalar or an arrayref and deal with these appropriately. By overloading your object (array) references to act as scalars in a scalar context, and then passing these to HTML::Template, you are creating the problem and asking for pre-existing code to fix it.
Couldn't you be the one to provide a separate function, $obj->toString(), and use that rather than overloading to pass the stringified value of your object to HTML::Template?
( Also, would $template->function( scalar $obj_to_stringify ); 'fix the problem'? ).
Note: I'm playing devil's advocate here because this is one of those issues about which I am undecided.
Not using ref, or context sensitivity in code seems like were throwing away a fundamental part of what makes perl, perl.
On the other hand, maybe the dwimery that makes writing small, procedural code in perl such a pleasure, is simply at odds with writing larger, more complicates app where OO comes into it's own?
In reply to Re: Why ref() is bad.
by BrowserUk
in thread Is "ref $date eq 'ARRAY'" wrong?
by bronto
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |