Perrigo to buy Elan Corp.