ちょっとしたコンテキスト: Text::CSV_XS を使用してデータベースに移動するデータを含む csv ファイルがあります。私は約12のテーブルを持っています。「Model/Data/Table1.pm」モジュールの親である Model/Data.pm DBI ラッパー モジュールを使用しており、それぞれがテーブルを表しています。表 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)?