変数に他の変数の値を格納する

変数には数値や文字列の値を格納することができますが、他の変数に格納されている値を変数に格納することもできます。ここでは Perl のプログラムで変数に他の変数の値を格納する方法について解説します。

(Last modified: )

変数に他の変数の値を格納する

変数には数値や文字列の値を格納するだけでなく、他の変数に格納されている値を格納することもできます。次の例を見てください。

my ($var1, $var2);
$var1 = 100;
$var2 = $var1;

2 つの変数を宣言したあと変数 $var1 に 100 を格納します。次に変数 $var2 に変数 $var1 を格納します。この時、変数 $var2 には変数 $var1 に格納されている値が取り出されて格納されます。結果として変数 $var2 には 100 が格納されます。

この時、変数 $var1 の値がコピーされて変数 $var2 に格納されるため、 変数 $var1 には数値の 100 が格納されたままです。また値がコピーされているだけなので、あとで変数 $var1 の値が変更されたとしても変数 $var2 の値には影響しません。

サンプルコード

それでは簡単なサンプルを作成します。

use strict;
use warnings;
use utf8;
binmode STDIN, ':encoding(cp932)';
binmode STDOUT, ':encoding(cp932)';
binmode STDERR, ':encoding(cp932)';

my ($var1, $var2);
$var1 = "Hello";
$var2 = $var1;

print "\$var1 = $var1\n";
print "\$var2 = $var2\n";

print "----\n";

$var1 = "こんにちは";

print "\$var1 = $var1\n";
print "\$var2 = $var2\n";

テキストエディタでプログラムを記述したあと sample.pl という名前で保存します。(文字コードは UTF-8 です)。コマンドプロンプトを起動し、プログラムを保存したディレクトリへ移動したあとで次のように実行します。

perl sample.pl

次のように実行結果が表示されます。

変数に他の変数の値を格納する(1)

変数に文字列を格納したあと、別の変数に変数の値を格納しています。そのあとで元の変数に別の値を格納しています。変数に別の変数の値を格納した場合、格納されていた値がコピーされるだけなのであとから元の変数の値を変更しても、別の変数の値には影響しません。

-- --

Perl のプログラムで変数に他の変数の値を格納する方法について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。