in reply to Problem running scripts under CentOS

I don't know. That's pretty strange, that CentOS behavior should be so different. But I do notice an oddity in what you've given. Who knows, maybe it has something to do with it. Assuming you haven't made any typos above:

Class::Main should be stored in lib/Class/Main.pm, but you have it in lib/class/Main.pm. On unixy OSes, filename case does matter. Try fixing that, see what happens.

I reckon we are the only monastery ever to have a dungeon stuffed with 16,000 zombies.