in reply to Re: die properly
in thread die properly

I could use your code right after the sub &feed or inside the subroutine?

Replies are listed 'Best First'.
Re^3: die properly
by dragonchild (Archbishop) on May 12, 2005 at 18:30 UTC
    &feed; is the call to the subroutine. You wrap the call in an eval-block and check $@ to see if the subroutine died or not.

    • In general, if you think something isn't in Perl, try it out, because it usually is. :-)
    • "What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against?"
      Ok, that's how I did
      eval { &feed; }; unless ( $@ ) { &error; } sub feed { ...code... while($l < $2) { ...code... } die "Could not retreive data"; }

      And it seems to be working.

        If it seems to be working, then it is a remarkable form of working, because the logic is backwards from what dragonchild posted. Notice that after the eval, his code acted on the error if $@ evaluated to true, while yours acts on the error if $@ is false (i.e. when there are actually no errors).

        the lowliest monk