"use Error::Simple" overwrites calling package's $VERSION.
Error/Simple.pm doesn't define a package but sets $VERSION using "use vars ($VERSION)" which overwrites the calling package's version!
mhorsfall@tworivers:~$ perl -e 'use parent qw(Error::Simple); use parent 23423432'
parent version 23423432 required--this is only version 0.17024 at -e line 1.
BEGIN failed--compilation aborted at -e line 1.
mhorsfall@tworivers:~$ perl -e 'use parent 2342'
parent version 2342 required--this is only version 0.232 at -e line 1.
BEGIN failed--compilation aborted at -e line 1.
-- Matthew Horsfall (alh)