# to use it you need to create a package named Tables package Tables; use strict qw(var subs); use vars qw(@ISA $table %dates %enums $primarykey); # after this you put the tables here like so package ; @ISA = qw(BaseData); $table = "
"; $primarykey = ""; %dates = (); # list fields with dates here %enums = (); # list fields of type enum here #### # I'll use the insert sub as an example sub insert { my $class = shift; my ($table,$seq_query,$primary_key); # grab the variable defined from the derived class # this is hacky $table = ${$class . "::table"}; $primary = ${$class . "::primarykey"};