一些上下文:我有 csv 文件,其中包含我正在使用 Text::CSV_XS 移动到数据库的数据。我有大约 12 张桌子。我正在使用 Model/Data.pm DBI 包装器模块,它是“Model/Data/Table1.pm”模块的父模块,每个模块都代表一个表。如果我想在表 1 中写入一些内容,我需要编写一个 script.pl,它会执行以下操作:
my $table1_ds = App::Model::Data::Table1->new();
$table1_ds->insert(\@insert_data);
$table1_ds->commit;
我不想为每个表都写这个。此外,也许有一天会出现新表。
我希望 Perl 在“Model/Data/”和“get”中搜索包,或者将每个包存储在数据结构中,这样我就可以使用如下代码:
for each $table_name(@table_names){
my $table_name_ds = App::Model::Data::$table_name->new();
$table_name_ds->insert(\@insert_data);
$table_name_ds->commit;
}
如何制作一个 perl 脚本来搜索目录中的包并将名称存储在数据结构中(在示例中,@table_names)?