2013-10-14 3 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 вы можете использовать.

 Смежные вопросы

  • Нет связанных вопросов^_^