If behaviour is different between having Sub::Name and not, then we are better off having two tests - one requiring Sub::Name and the other using Devel::Hide.  Otherwise, drop the eval and just require Sub::Name.