perl localとmyの違い2

#localで定義した変数が別のサブルーチンで変更できることを確認する

&modify_local();

#サブルーチン本体
sub modify_local{
    #ローカルで定義
    local($local_value) = "元のテキスト";
    #ローカルで定義
    my($my_value) = "元のテキスト";

    print "[実行前]\n";
    print "local:\t$local_value\n";
    print "my:\t$my_value\n";

    &change_local();

    print "[実行後]\n";
    print "local:\t$local_value\n";
    print "my:\t$my_value\n";
}

sub change_local{
    $local_value = "変更しました";
    $my_value = "変更しました";
}


#実行結果
# [実行前]
# local:	元のテキスト
# my:	元のテキスト
# [実行後]
# local:	変更しました
#  my:	元のテキスト

初めてのPerl 第6版

初めてのPerl 第6版