Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re^2: Returning undef: The point I would like Damian to reconsider

by princepawn (Parson)
on Jun 22, 2007 at 20:30 UTC ( #622905=note: print w/ replies, xml ) Need Help??


in reply to Re: Returning undef: The point I would like Damian to reconsider
in thread Returning undef: The point I would like Damian to reconsider

and I don't see that as a bad practice. Works like expected and is documented. The alternative would be to shove the result explicitly through three other subs:
$thingy -> foo (1,2) -> to_output_channel; $string = $thingy -> foo (1,2) -> as_string; @lines = $thingy -> foo (1,2) -> as_list;
which gains me what exactly?
It gains you
  1. explicit clarity of intent
  2. 3 parameterizable output methods
  3. 3 methods which can be re-used or overloaded as needed
  4. The ability to call all 3 output methods, none or any combination simply by mixing/matching method calls.
Should I avoid localtime and roll my own?
Well, no. Try Date::localtime or Time::Local or anything in the DateTime hierarchy.


Carter's compass: I know I'm on the right track when by deleting something, I'm adding functionality


Comment on Re^2: Returning undef: The point I would like Damian to reconsider
Download Code
Re^3: Returning undef: The point I would like Damian to reconsider
by shmem (Canon) on Jun 22, 2007 at 20:52 UTC
    1. explicit clarity of intent

    I have that on the LHS.

    2. 3 parameterizable output methods
    3. 3 methods which can be re-used or overloaded as needed
    4. The ability to call all 3 output methods, none or any combination simply by mixing/matching method calls.

    No call for those, since that doesn't gain me anything.

    You missed my point. Context awareness is a key concept of Perl. Deprecating context awareness with regard to subroutine return is tantamount to crippling the language.

    Try Date::localtime

    No such module... ;-)

    --shmem

    _($_=" "x(1<<5)."?\n".q·/)Oo.  G°\        /
                                  /\_¯/(q    /
    ----------------------------  \__(m.====·.(_("always off the crowd"))."·
    ");sub _{s./.($e="'Itrs `mnsgdq Gdbj O`qkdq")=~y/"-y/#-z/;$e.e && print}

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://622905]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (13)
As of 2014-10-20 12:13 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    For retirement, I am banking on:










    Results (75 votes), past polls