If your matrix is not sooo large, you could use a pure Perl solution,
Math::MatrixReal for diagonalization instead of messing with Lapack.
Math::MatrixReal has a nice ($l, $V) = $matrix->sym_diagonalize() method that lets you to compute the eigensystem of a quadratic and symmetric matrix. Note that the implementation is really cool (it worked for me even for some astonishingly large matrices I threw at it just for fun): it uses Householder reduction followed by the QL algorithm, so it is in fact O(N^3)!!!