【发布时间】:2011-04-26 02:42:34
【问题描述】:
如果我有一个打开文件的子例程,那么确保它仅在第一次调用子例程时打开它的最佳方法是什么?我有这个,但不确定它是否是最佳实践:
{
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++;
}
}
【问题讨论】:
-
我不明白为什么你会有一个“log_msg”子程序,它只应该在第一次调用时记录一条消息。
-
当然我不希望这样......这是不完整的代码......不得不去掉一堆东西在这里发布......
标签: perl file subroutine