スレッドに問題があります。サブルーチンとしてクラス インスタンス メソッドを使用してスレッドを作成すると、エラーが発生し続けます。method 変数と params 変数は他のものに基づいて設定されるため、この方法でクラス インスタンス メソッドを呼び出す必要があります。スレッドがなくても、問題なく動作します。スレッドの作成にそれを指定する正しい方法がわかりません:
my $instance = someclass->new();
my $method = 'get';
my $params = { 'abc' => 123 };
my $thread = threads->create($instance->$method,$params);
これにより、「コード参照ではありません」というエラーが表示されます。これは実際にメソッドを呼び出し、戻り値を引数として使用している可能性があると思います。さて、これを試しました:
my $thread = threads->create(\&{$instance->$method},$params);
これにより、「サブルーチン参照ではありません」というエラーが表示されます。これについて何か助けていただければ幸いです。