スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[Perl]サブルーチンで戻り値をハッシュで返す。

■サブルーチンで、ハッシュ変数を返す方法をメモしておきます。
 リファレンス(参照渡し)と実体で渡す方法があるようです。
リファレンスで渡すほうがメモリ効率がいいんだとか。

最近、PHPで組んでいるのでこういう感覚が抜けてるようです。
Cのポインタとか忘れてるし・・・

どちらでも結果は同じです。どこが違うかはよく見てご判断を。
業務命令で付け焼刃でPerlを勉強しておりますが、全ての変数が
グローバルというのは、やはり気持ちが悪いです。

きちんと変数を管理すれば、楽なんでしょうが・・・


-----------------------------
[参照渡し]
-----------------------------
$tmp = &func;

#中身を表示
foreach $key (keys %$tmp){
print "$key=>$$tmp{$key}n";
}
#-----------------------------
#配列をセットして返す(参照)
#-----------------------------
sub func {
   my (%hash) = (
"フルーツ" => "メロン",
"ドリンク" => "ジュース",
"パン" => "トースト"
   );
   return %hash;
}
----------------------------
[実体渡し]
----------------------------
%tmp = &func2;
foreach $key (keys %tmp){
print "$key=>$tmp{$key}n";
}
#-----------------------------
#配列をセットして返す(実体)
#-----------------------------
sub func2 {
  my (%hash) = (
    "フルーツ" => "メロン",
    "ドリンク" => "ジュース",
    "パン" => "トースト"
  );
  return %hash;
}



コメントの投稿

非公開コメント

スポンサードリンク
枚方情報
最新記事
カテゴリ
人気ページランキング
ブログパーツ
検索フォーム
最新コメント
楽天オススメ
人気検索記事
プロフィール

ときどきぷろぐらま。

miichan1016をフォローしましょう

Author:ときどきぷろぐらま。
ママぷろぐらま、として頑張ってます。
好きなことはPHPでプログラムを組むこと。
ブログランキング・にほんブログ村へ

メールフォーム

名前:
メール:
件名:
本文:

お気に入りリンク
相互リンク 新着記事
相互リンクをしていただくと、こちらにあなたの最新のブログ記事が表示されます。
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。