### main script: die "No client data specified" unless %Client::Data::positions; while (<>) { print decode_positions( $_, %Client::Data::positions ); }; ### client/Client/Acme.pm package Client::Data; use vars qw(%positions); %positions = ( ... ); 1; ### command line perl -MClient::ACME magicscript.pl