use Zowie qw( :phasers :masers :tasers !:water_pistols ); #### use CGI qw( :all ); #### use CGI qw( :html2 :html3 :netscape :form :cgi :internal ); #### package LISConst; use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS); require Exporter; @ISA = qw(Exporter); $VERSION = '0.01'; @EXPORT = qw(); @EXPORT_OK = qw(); %EXPORT_TAGS = ( hdr_lens => [qw( LIS_TIF_HDR_LEN LIS_TIF_HDR_DATA_MAX LIS_PHY_HDR_LEN LIS_LR_HDR_LEN )], phyhdr_flags => [qw( . . . . )], lr_types => [qw( . . . . )], . . . . all => [qw( ? ? ? ? )], ); #### all => [qw( :hdr_lens :phyhdr_flags :lr_types )], #### { # Expand tag names into referenced name sets my %seen; $EXPORT_TAGS{all} = [ grep { !$seen{$_}++ } map { m/^:(.*)$/ ? @{$EXPORT_TAGS{$1}} : $_ } @{$EXPORT_TAGS{all}} ]; } { # Add tag set names not already listed into @EXPORT_OK my %seen; $seen{$_}++ foreach @EXPORT_OK; push @EXPORT_OK, grep { !$seen{$_}++ } @{$EXPORT_TAGS{$_}} foreach keys %EXPORT_TAGS; }