This problem still occurs - and is apparently due to CPAN not bothering to check whether a directory exists or not before attempting to write to it.
Ran into this running cpan for the first time on a new host as 'root' - needless to say being told I didn't have write permissions was a bit of a head scratcher.
Turns out, if any directory listed in @INC does not exist, this error is the result - it is interpreting any failure as permission denied.
Creating the missing directory made the error go away.
... updated this because this is the first result back from a Google of the error message, so might as well make it pay off for the next poor shlub that runs into this. Seven years and CPAN hasn't bothered to find or fix it.