$ log = logfile-> new($ cfg {logdir}。(
有人可以告诉我这意味着什么
代码正在创建一个新的LogFile
对象,该对象采用两个参数:日志文件的路径和调试布尔值。
在这种情况下,第一个参数是使用串联(带有周期(,第二个参数正在使用三元if-else设置。
perl是一种编译时的语言,因此它允许您直接以构造函数为构造函数(尽管有限制(。与这样做一样:
my $file = $cfg{logdir} . '/tpchc.log';
my $debug = $tpchc->{args}->{debug} ? 1 : 0;
my $log = LogFile->new($file, $debug);
顺便说一句,简单的哈希和hashrefs(而不是对象(可以在字符串中插值,因此您实际上不需要串联$file
行:
my $file = "$cfg{logdir}/tpchc.log";
有些人发现更容易阅读,有些人对每个人都不是这样。