Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re^2: Format Style Opinions: my, ternary, subroutine

by jffry (Hermit)
on Dec 04, 2007 at 18:28 UTC ( #654902=note: print w/replies, xml ) Need Help??


in reply to Re: Format Style Opinions: my, ternary, subroutine
in thread Format / Logical Expression / Style Opinions: my, ternary, subroutine, @_

Wow. That is a simpler way to express it. Thanks. I think I'm still in that "everything is a nail" phase with the ternary op.

However, I don't think it is wise to quietly keep going if a 4th argument is passed to it. I don't know about anyone else who might use this sub, but I certainly want to tell myself if I'm using it wrong.

  • Comment on Re^2: Format Style Opinions: my, ternary, subroutine

Replies are listed 'Best First'.
Re^3: Format Style Opinions: my, ternary, subroutine
by webfiend (Vicar) on Dec 04, 2007 at 19:00 UTC

    I understand your nervousness about extra arguments, but I've learned that they don't really matter in Perl. An analogy that comes to mind is filling a glass of water. If I hand you a cup and you pour a gallon of water into it, all I get back is a cup. I might make fun of you for being so sloppy, but who cares? After all, I have the cup of water that I wanted.

    Still, if it is important to you, you can enforce it with logic in your sub.

    sub xyz { my $xxx = shift || croak('Missing xxx parameter'); my $yyy = shift || croak('Missing yyy parameter'); my $ttt = shift; # Enforce length of function parameter list. if (@_) { croak('Too many args for xyz!'); } # ... }

    ... but things like that risk making the code a little harder to read.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (3)
As of 2019-08-19 23:22 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    If you were the first to set foot on the Moon, what would be your epigram?






    Results (141 votes). Check out past polls.

    Notices?