Katy Perry has been sober for five weeks after making a pact with Orlando Bloom to stay away from alcohol for three months.