To me assert seems a silly way to debug. I mean you really have two options:
# Assert that the sun must rise in the next 24 hours.
assert(($next_sunrise_time - time) < 24*60*60) if DEBUG;
# Assert that your customer's primary credit card is active
affirm {
my @cards = @{$customer->credit_cards};
$cards[0]->is_active;
};
Option option one means you must almost know the variable at the time you write the code. Option two means you write a block of code to verify the contents. In my mind both types of var verification inline lead to a problem -- if you made a mistake dealing with the variable earlier in your code what makes you think your asserts will be golden? Adding code like this to a longer app just seems to possibly add more areas for failure. I would tend to use simple log prints on short apps, or on longer (more complex and reused) apps use a testing framework and the debugger to debug.
|