in reply to How to set a set of our and @EXPORT variables concisely?

Hmm, your coworker is exhibiting false laziness. While I normally agree with building an array (not a list) of variable names, I usually use it in a hash slice.

As far as I understand it, you need to declare variables first, then export them, under strict:

our ($MC_CONFIG_DBI_DRIVER, $MC_CONFIG_DB_NAME, $MC_CONFIG_DB_USER, $MC_CONFIG_DB_PWD, $MC_CONFIG_FILE, $MC_CONFIG_FEED_LOGS, $MC_CONFIG_ARCHIVE_LOGS ); our @ISA = qw( Exporter ); our @export = ($MC_CONFIG_DBI_DRIVER, $MC_CONFIG_DB_NAME, $MC_CONFIG_DB_USER, $MC_CONFIG_DB_PWD, $MC_CONFIG_FILE, $MC_CONFIG_FEED_LOGS, $MC_CONFIG_ARCHIVE_LOGS );
Using symbolic references to avoid a simple cut-and-paste (especially as it's actually *appropriate* in this case) is a punishable offense.

One more thing, your coworker is a little confused on the difference between a list and an array:

our vars = ($one, $two, $three); # a list our vars @array; # an array and an error