2013-10-14 47 views
1

我在Perl中有一個子例程,它將讀取散列並打印出散列中的所有鍵值對。但是,我不需要通過foreach循環並在每次打印時都打印一個鍵,而是需要將結果添加到一個標量,然後返回標量和最後的組合結果。Perl:如何將文本附加到標量

在Java中,我記得你可以很容易地添加額外的文本到一個變量,但我不知道如何在Perl中做到這一點。

有什麼想法?下面我將添加我的打印代碼,但我基本上是想利用這一點,把它添加到一個標量,並在年底返回合併標量(假設$output

sub printSongs 
{ 
    print "Song Database\n\n"; 
    foreach $key (keys %songList) 
    { 
     print "Song Title: $key ---- Duration: $songList{$key}\n"; 
    } 
} 

PS:我試圖尋找此答案應該相對簡單,但找不到任何東西。不確定append是否是最好的單詞。

+1

看到這個PerlMonks頁面:[我如何連接一個字符串?](http://www.perlmonks.org/?node_id=32418) – ThisSuitIsBlackNot

+0

啊!連接是適當的術語。謝謝! –

+0

我很高興地報告說,在http://search.perlhacks.com/上搜索「追加文本到標量」找到了一個有用的答案:-) –

回答

6

Perl中的連接運算符是.。您也可以將其與作業組合爲.=

0
sub printSongs 
{ 
    print "Song Database\n\n"; 

    foreach $key (keys %songList) 
     { 

     $something_combined = $something_combined . 
      "Song Title: $key ---- Duration: $songList{$key}\n"; 
     } 

    print $something_combined; 

} 

您可以輕鬆地添加到任何一個變量,一個完整的終止符。

例如:$ something =「Something」。 $ somevar。 「別的東西」。 「等等」;

在Java中,您通常使用+來連接字符串。在Perl中你可以使用。