That depends. Are you using strict? Is %crap a lexical scoped or package variable? Have you tried just accessing %crap? What problem do you have? How about %BooYah::crap? I think introducing a new global variable from an outside source into your current package namespace is a bad idea, but what do I know?
Update: If BooYah.pm is really a package (declared with 'package BooYah;',
then declare %crap with 'use vars' or our. Then
you can just directly use %crap in BooYah.pm.