[英]How do I use subroutine arguments in a format statement in perl5?
我希望能够执行以下操作:
sub prline {
format STDOUT =
@<<<< @>>>>>> @>>>>>>
@_
.
write;
}
prline("EPIC", "BUY", "SELL");
但它不起作用。 有什么解决办法?
更新 1:
我发现格式声明仍然完全令人困惑。 以下如何输出一个空行?
my ( $epic, $buy, $sell ) = qw( EPIC BUY SELL );
write();
format STDOUT =
@<<<< @>>>>>> @>>>>>>
$epic, $buy, $sell
.
您定义格式(正如您所做的那样),填写包变量,然后使用write
来实现。 在我为 The Effective Perler 写的一篇文章中,我有一些接近你想要的东西。 你仍然需要使用包变量,但你可以本地化它们:
foreach my $record ( @cats ) {
local( $id, $name, $food ) = @$record;
write( $fh );
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.