簡體   English   中英

如何在 perl5 的格式語句中使用子程序參數?

[英]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 );
    }

在 Perl 4 天期間,學習 Perl過去有一整章關於格式,我已經在本書網站上的格式中復制了它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM