Sorry I didn't use a hash example like your problem. The code is very similar.
HV *hash = perl_get_hv("Some::Module::TestGlobal", 1)
See page 338 in Srinivasan or page 145 in Jenness/Cozens.
One thing I didn't mention is that you must create the hash as a global variable -- don't use newHV. It doesn't matter if you create the global before or after loading your modules. I normally load my modules and then fetch the variables they define.
If you use C++, you might find my libperl++ package helpful. It may be useful for code examples at any rate. Of course, as a recent thread points out, real perl hackers don't use C++... ;)