Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer

Completely Useless

by btrott (Parson)
on Aug 12, 2000 at 04:07 UTC ( #27590=snippet: print w/replies, xml ) Need Help??
Description: So this is probably the most useless module ever, but I thought it was kind of fun, because... I don't know. I like writing things that seem like English but are actually Perl, I guess.


use Silly::Die; EXPR or die trying;
Where EXPR is, of course, an expression. For example:
open FILE, "foo" or die trying;

    package Silly::Die;

    sub import {
        my $class  = shift;
        my $caller = caller;
        no strict 'refs';
        *{"${caller}::trying"} = \&{"${class}::trying"};

    sub trying { $! }


Replies are listed 'Best First'.
RE: Completely Useless
by btrott (Parson) on Aug 12, 2000 at 05:45 UTC
    Hey, you know what'd be neat? To customize the error message. Sure, it's still just as useless, but that's okay. So here's the new version:
    package Silly::Die; use strict; use vars qw/$OUTPUT/; sub import { my $class = shift; my $caller = caller; no strict 'refs'; *{"${caller}::trying"} = \&{"${class}::trying"}; $OUTPUT = shift if @_ && ref $_[0] eq "CODE"; } sub trying { $OUTPUT ? $OUTPUT->($!) : $! } 1;
    Usage is the same as before, but if you want an extra special output function, try this:
    use Silly::Die sub { qq(I died with: "@_") }; open FILE, "foo" or die trying;
    I died with: "No such file or directory" at ./ line 9.
RE: Completely Useless
by mwp (Hermit) on Aug 12, 2000 at 04:30 UTC
    bond@russia:~$ perl -I/usr/local/lib/m4 \ -MSecret::Agent -e 'save->world()' died trying at line 007 (eval 1).

    I guess he forgot the -w flag.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: snippet [id://27590]
and the radiator hisses contentedly...

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (11)
As of 2016-12-09 16:08 GMT
Find Nodes?
    Voting Booth?
    On a regular basis, I'm most likely to spy upon:

    Results (152 votes). Check out past polls.