変数に対する演算

算術演算子や他の演算子でも同じですが数値などの値と値だけではなく、値と変数または変数と変数といった演算を行うことができます。例えば変数に格納された数値に対して数値を加算して別の変数に格納することができます。ここでは Perl のプログラムで変数に対する演算を行う方法について解説します。

(Last modified: )

変数に対して演算を行う

変数と値の演算の例としては次のようになります。

my ($var1, $var2);

$var1 = 10;
$var2 = $var1 + 8;

上記では変数 $var1 に数値の 10 が格納されています。そして $var1 + 8 の結果、すなわち 18 が変数 $var2 に格納されます。今回は変数と数値を + 演算子を使って演算しました。

また変数と変数に対する演算も行うことができます。

my ($var1, $var2, $sum);

$var1 = 10;
$var2 = 8;
$sum = $var1 + $var2;

上記では変数 $var1 には数値の 10 、変数 $var2 には数値の 8 が格納されています。そして変数 $sum には変数 $var1 と変数 $var2 に格納されている数値の加算の結果、すなわち 18 が格納されます。今回は変数と変数を + 演算子を使って演算しました。

演算結果を変数に格納する

変数に対する演算結果を別の変数に格納するほかに、ある変数に対する演算結果を同じ変数に再度格納するという処理もよく使われます。例えば次のような場合です。

my $var;

$var = 8;
$var = $var + 3;

上記では変数 $var にまず数値の 8 を格納します。そして次の行で変数 $var に数値の 3」 加算した結果を変数 $var に格納しています。その結果変数 $var には 11 と言う数値が格納されます。

この演算では代入演算子である = の右辺と左辺に同じ変数 $var が使われています。慣れないと分かりにくいですが、右辺を左辺に格納する処理を行っているだけです。この処理は次のように記述した場合と同じです。

my ($var, $dumy);

$var = 8;
$dumy = $var + 3;
$var = $dumy;

よく使われる記述方法ですので覚えておいて下さい。

サンプルコード

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

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

my $var;

$var = 8;
print "変数 = $var\n";

$var = $var + 7;
print "変数 = $var\n";

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

perl sample.pl

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

変数に対する演算(1)

変数に対する演算結果を変数に再度格納した上で画面に出力しました。

-- --

Perl のプログラムで変数に対する演算を行う方法について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

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