In addition to what's already been said, I don't see you using any of Data::Dumper's functionality.
Also, I think you should just inline the datastructures you're generating in sub "new".
I see no point in reading from __DATA__ more than once if the data isn't changing.
|MJD says "you can't just make shit up and expect the computer to know what you mean, retardo!"|
|I run a Win32 PPM repository for perl 5.6.x and 5.8.x -- I take requests (README).|
|** The third rule of perl club is a statement of fact: pod is sexy.|