Why: easier than the alternative 

sub do_something {
    # attempt to do something
    # return true  on success or
    # return false on failure
}