in reply to if and unless

That is (of course) incorrect syntax, but the program flow you want can be achieved with exception handling, which in Perl is done with eval:
if (test_conditions(@info)) { eval {do_something(@info)}; if ($@) { warn "Failed to do whatever because '$@'"; } }
and then in your do_something function you would just die whenever you detect that you "screwed up".

Replies are listed 'Best First'.
Re: Re (tilly) 1: if and unless
by c0d34w4y (Acolyte) on Dec 15, 2001 at 23:45 UTC

    I wonder if he also meant this:

    if (test_conditions(@info)) { eval(do_something(@info)); warn "Failed to do whatever because '$@'" if ($@); } else { # handler method for whenever something is 'screwed up' # such as when test_conditions() fails... something_screwed_up(); }
    ps: actually, I'm sure there might be quite a few implementations for the original 'pseudo' code since it contains some uncommon language constructs/flow. Say,  if(..) { } unless {} isn't something you find in a standard pseudo code? Also the meaning of the 'unless' keyword is a bit vague.

    --
    print join(" ", map { sprintf "%#02x", $_ }unpack("C*",pack("L",0x1234 +5678)))
      The program flow apparently meant from your comment does not match the program flow of the code.

      My warn was merely a reasonable implementation of your something_screwed_up() function. If you want it to be called, it has to be called there.