My thoughts exactly. I don't know and I don't WANT to know when base.pm thinks it should load a module, and when it thinks it should ignore a require error. On significantly complex systems, setting @ISA and use()ing module "by hand" makes things clearer. Maybe not easier, but clearer none the less.
Update: I still do use base for simple modules. But I do regularly run into situations where it just doesn't work right.