in reply to Simplifying CPAN module namespace

One concern would be to preserve backward compatibility for existing code. As long as no one was advised to reach down into one of the modules (for example: PDF::Image::GIF->new();), there should be no problem. Since the POD for PDF::Create does not seem to allow for that possibility, you are probably safe.

Another concern is name collisions. Is it possible for you to somehow check other CPAN PDF distributions for .pm files which match your new names? For example, if some other dist has a file PDF/Foo.pm, you shouldn't name your file as such. This is by no means a complete list, but it is a good place to start.

Replies are listed 'Best First'.
Re^2: Simplifying CPAN module namespace
by markus_b (Acolyte) on Feb 23, 2010 at 22:14 UTC

    Yes, backwards compatibility is a must. Nobody should have used any other module directly, nothing was documented that way (and the module source is almost devoid of any comment), so the chance is slim. Of course, there always might be that daredevil who knows better.

    I did check the others on the same namespace (PDF::<xxx>) and there is a bunch, but nothing will collide. I thought to rename them anyway (PDF::Create::Page -> PDF::CreatePage, PDF::Image::GIF -> PDF::CreateGIF) to make it obvious that they belong together.

    I'm worried too about side-effects of CPAN. For example, what will happen to the (now orphaned) subdirectories ?

    Markus