小池啓仁 ヒロヒト応援ブログ By はてな

小池啓仁(コイケヒロヒト)の動画など。

小池啓仁 ヒロヒト応援ブログ By はてな

文字列中のサブルーチン実行

Perlでは、ダブルクォーテーション文字列中の変数は、中身が展開されます。
しかし、サブルーチンは展開されません。単なる文字列になります。
これを展開するには、無名配列リファレンスの配列要素としてサブルーチンをコールし、この無名配列リファレンスをデリファレンスします。

use strict;
print "aaaaaaa @{[&test()]} bbbbbbb";
sub test {
    return "ABCDEF";
}

また、以下のように一度サブルーチンリファレンスをとり、デリファレンスして、それを無名配列リファレンスの配列要素とし、この無名配列リファレンスをデリファレンスします。

print "aaaaaaa @{[&{\&test}]} bbbbbbb";