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

Re^3: Should I use carp/croak or warn/die

by LanX (Saint)
on May 30, 2018 at 17:09 UTC ( [id://1215484]=note: print w/replies, xml ) Need Help??


in reply to Re^2: Should I use carp/croak or warn/die
in thread Should I use carp/croak or warn/die

Well yes, I can construct mnemonics, German and English being very similar helps.

But still I'm confused about the need to have several names for things which are almost similar - i.e. different only in orthogonal dimensions - instead of parametrizing them.

Thanks anyway! =)

Cheers Rolf
(addicted to the Perl Programming Language :)
Wikisyntax for the Monastery

  • Comment on Re^3: Should I use carp/croak or warn/die

Replies are listed 'Best First'.
Re^4: Should I use carp/croak or warn/die
by Your Mother (Archbishop) on May 30, 2018 at 17:19 UTC

    I agree that PHPisms like 500 extra, semi-overlapping keywords can be a bad thing but I've always liked Carp's interface. Taking the generalized and parameterized route to extremes is warn and die becoming replaced with error($level, $message) or something. I use Carp's functions enough, including longmess and shortmess for logs, that I much prefer having specific functions for acking around and such.

      I'm fine with Huffman* coding keywords (often used = own keyword) and naming functions is indeed difficult ...

      But I'm still not happy, sorry ! :)

      Cheers Rolf
      (addicted to the Perl Programming Language :)
      Wikisyntax for the Monastery

      update

      PS: any need to explain MilliHuffman? ;-)

        I liked some of your thoughts about "nice to haves" above and I'm always open to new approaches even though I've never met Ms Huffman. I propose some replacements/aliases–

        carp ⇢ gripe
        cluck ⇢ kvetch
        croak ⇢ lament
        confess ⇢ dirge
        shortmess ⇢ demur
        longmess ⇢ expostulate

        Now we're getting somewhere. I am seeing an Acme:: future here; especially if it duplicates every single function in the core and in common usage from the more popular CPAN modules, with the entire thesaurus entry for each! :P ← You can't stop me!

Re^4: Should I use carp/croak or warn/die
by jeffenstein (Hermit) on May 30, 2018 at 17:43 UTC

    I can only guess why Larry & Co. did it this way, and that guess would be that it was to preserve backwards-compatibility with perl 4, which already had the current interface for warn and die.

    Did caller exist in perl 4? It kind of makes sense to use a different interface since modules got a lot of changes in 5.0

      Did caller exist in perl 4?

      According to http://www.rexswain.com/perl4.html, caller existed in Perl 4, and so did die and warn.

      Alexander

      --
      Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)

      From the perl.n manpage of perl 4 patchlevel 36:

      caller(EXPR)

      caller Returns the context of the current subroutine call:
      ($package,$filename,$line) = caller;
      With EXPR, returns some extra information that the debugger uses to print a stack trace. The value of EXPR indicates how many call frames to go back before the current one.
      perl -le'print map{pack c,($-++?1:13)+ord}split//,ESEL'

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others studying the Monastery: (None)
    As of 2024-04-25 04:02 GMT
    Sections?
    Information?
    Find Nodes?
    Leftovers?
      Voting Booth?

      No recent polls found