- 締切済み
サブルーチンの返値に配列のハッシュ
いつもお世話になっております。 HTML::Templateを使用する為、サブルーチンの返値に配列のハッシュを入れたいと思っていますが、うまくいきません。 また、myの使い方が分からず、返値までの方法も若干気になります。 よろしくお願い致します。 use HTML::Template; @loop = &loop_make('aa<>ab<>ac','ba<>bb<>bc','ca<>cb<>cc'); my $template = HTML::Template->new(filename=>'sample.html'); $template->param(loop=>\@loop); print "Content-Type: text/html\n\n"; print $template->output; exit; sub loop_make{ @aaa = (); foreach $xxx (@_) { ($one,$two,$three) = split(/<>/,$xxx); push @loop, { one => $one, two => $two, three => $three }; } return \@aaa; }
補足
ご返信ありがとうございます。 申し訳御座いません。 push @loop, { one => $one, two => $two, three => $three }; ↓↓↓↓↓ push @aaa, { one => $one, two => $two, three => $three }; の間違いでした。 <TMPL_LOOP NAME="loop"> のようにループ名の固定、またはサブルーチン外で名前を変える、これでなんとなく解決できたような気がしますが、サブルーチン外のことなので少しひっかかります。 リファレンス・デリファレンスなどで多重配列のreturnはできませんでしょうか? 宜しくお願い致します。