in reply to Re^2: our scope and packages
in thread our scope and packages

In the package that currently can't access it.

Actually the really right way to do it is to move %prod into a configuration module that might look like this:

package My::Configuration; use strict; use Export qw(import); our @EXPORT_OK = qw(%prod); our %prod = ( ... ); 1;
and then somewhere in main and in your other package insert the line:
use My::Configuration qw(%prod);
Doing that you won't even need the our declaration because importing it declares it.