in reply to Re^3: How not to use "our"?
in thread How not to use "our"?

How about variables that contain constant values

Simply build a function that returns the variables.

You could, but it's perfectly fine to export constants. I'd make them look like constants, though. In fact, I don't see why we couldn't make them actual constants.

package PkgA; use strict; use warnings; use Exporter qw( import ); my %max_text_constants; my @max_text_constants; BEGIN { %max_text_constants = ( TINY_TEXT_MAX_LEN => 100, TEXT_MAX_LEN => 200, MEDIUM_TEXT_MAX_LEN => 500, LONG_TEXT_MAX_LEN => 2000, ); @max_text_constants = keys(%max_text_constants); } use constant \%max_text_constants; our @EXPORT_OK = ( @max_text_constants, ... ); our @EXPORT_TAGS = ( max_text => \@max_text_constants, ... all => \@EXPORT_OK, ); 1;
use PkgA qw( LONG_TEXT_MAX_LEN ); use PkgA qw( :max_text ); use PkgA qw( :all );