ファイルを開くサブルーチンがある場合、サブルーチンが最初に呼び出されたときにのみファイルを開くようにするための最良の方法は何ですか?私はこれを持っていますが、そのベストプラクティスかどうかはわかりません:
{
my $count = 0;
sub log_msg {
my ($msg,$name) = @_;
if ($count == 0) {
my $log_file_name = "/tmp/" . $name;
open my $log_fh,">",$log_file_name or croak "couldn't open $log_file_name : $!";
print $log_fh "$timestamp: created and opened $log_file_name\n";
}
$count++;
}
}