According to the documentation for Path::Class::Dir, $dir->parent
"Returns the parent directory of $dir. Note that this is the logical
parent, not necessarily the physical parent."
The need to mention this is a clear indication there should be a means
of getting the physical path ("->realpath") for files and dirs.
Example use:
use Path::Class qw( file );
use lib file($0)->realpath->dir->subdir('lib');
In the example, realpath allows us to find the correct library directory
even when the program is launched via a symlink.