2016-07-03から1日間の記事一覧

perl リファレンス1

#スカラー変数をリファレンスで渡し、サブルーチンで内容を変更する $string = "私は太郎です。"; #サブルーチン実行前 print "実行前: $string\n"; #リファレンスを渡してサブルーチン実行 &sub_reference(\$string); #サブルーチン実行後: print "実行後…

perl リファレンス

#スカラー変数のリファレンス #\$variable #スカラー変数のリファレンスから内容を求める # $$reference # ${$reference} #配列のリファレンス # \@array #配列のリファレンスから内容を求める # @$referece # @{$reference} #配列の特定要素を求める # $$re…

perl local と my

#合計を調べる #初期値 $sum = 10; #サブルーチン1を呼び出し &sum1(); print "合計: $sum\n"; #サブルーチン1 sub sum1{ $sum++; { local($sum); $sum++; &sum2(); } &sum3(); } #サブルーチン2 sub sum2{ $sum++; } #サブルーチン3 sub sum3{ my($sum); $s…

perl my とour

#ourとmyのテスト #グローバル変数を宣言 @global_value = (1, 2, 3); &modify_my(); print "[my後] ", @global_value, "\n"; &modify_our(); print "[our後] ", @global_value, "\n"; #myによるグローバル変数の上書き sub modify_my{ my(@global_value); p…

perl ブロック内でのローカル変数

#ブロック内でのローカル変数の定義 $variable = "グローバル"; print "サブルーチン実行前: $variable\n"; #サブルーチン呼び出し &block(); print "サブルーチン実行後: $variable\n"; #サブルーチン本体 sub block{ my($variable) = "ローカル"; print "\…

perl localとmyの違い2

#localで定義した変数が別のサブルーチンで変更できることを確認する &modify_local(); #サブルーチン本体 sub modify_local{ #ローカルで定義 local($local_value) = "元のテキスト"; #ローカルで定義 my($my_value) = "元のテキスト"; print "[実行前]\n";…

perl localとmyの違い

#localとmyのテスト #localで宣言した変数の値は別のサブルーチンから参照できるが、myで宣言下変数の値は参照できない #サブルーチン呼び出し &local_my(); #サブルーチン本体 sub local_my{ #localによる定義 local($local_value) = "太郎"; #myによる定義…

perl ハノイの塔

#ハノイの塔 #サブルーチン呼び出し &hanoi(3, "左", "中", "右"); #サブルーチン本体 sub hanoi{ my ($disk, $bar1, $bar2, $bar3) = @_; #円盤が1つ以上残っている if($disk > 0){ #再帰呼び出し1 hanoi($disk - 1, $bar1, $bar3, $bar2); #移動内容を表示…

perl return関数を使って戻り値を返す

#returnを使って戻り値を返す #サブルーチン呼び出し $string = &hello_return("花子"); #戻り値を表示 print "戻り値: $string"; #サブルーチンの定義 sub hello_return{ my($name) = @_; #文字列を返す return("こんにちは、わたしは$nameです。\n"); } #…

perl 戻り値を持つサブルーチンの呼び出し

#戻り値を持つhello_retサブルーチンの呼び出し #サブルーチン呼び出し $string = &hello_ret("花子"); #戻り値を表示 print "戻り値: $string"; #サブルーチンの定義 sub hello_ret{ my($name) = @_; #文字列を返す "こんにちは、私は$nameです。\n"; } #…

perl 引数をひとつ取るサブルーチン

#引数を取るサブルーチンの呼び出し #サブルーチン呼び出し &hello_arg("太郎"); #サブルーチンの定義 #サブルーチンの引数はリスト@_に入る。myを使ってローカル変数として定義する。 sub hello_arg{ my($name) = @_; print "こんにちは、私は$nameです。\n…

perl サブルーチン1

#helloサブルーチンの呼び出し #サブルーチンの呼び出し &hello(); #サブルーチンの定義 sub hello{ print "こんにちは、サブルーチンです。\n"; } #実行結果 # こんにちは、サブルーチンです。 初めてのPerl 第6版作者: Randal L. Schwartz,brian d foy,Tom…