0

ちょっとしたコンテキスト: 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)?

4

1 に答える 1