以下のPerlコードを使用して、tarアーカイブ内のファイルを一覧表示しています。tarアーカイブのサイズは常に約15MBです。
my $file = shift;
my $tar = Archive::Tar->new("$file");
my @lists = $tar->list_files;
$tar->error unless @lists;
このコードを実行すると、「メモリ不足」というエラーが発生します。Linuxシステムに約512MBありますが、システムのメモリを増やしたくありません。このコードを変更してパフォーマンスを向上させるか、別のコードを変更してtarアーカイブ内のファイルを一覧表示できるかどうかを教えてください。