a bit exit status code handling in the perlbrew bash function to allow better shell scripting.

With this commit, the following shell script works as expected:

    #!/bin/bash
    eval "$(perlbrew init-in-bash)" ## init all PERLBREW_* vars only in this shell context

    perlbrew use 5.8.8 ## change to a version that might not exists
    if [[ $? -eq 0 ]]; then
      echo "worked"
    else
      echo "failed"
    fi

It should also work using `||` too.

    perlbrew use 5.8.8 || exit 1

The `switch` command also works this way, however it does have the side effect
that updates `$HOME/.perlbrew/init` file on successful invocation. This is
the expected behaviour.

Briefly tested with bash and zsh.