文字列の連結と文字列の繰り返し

Perl では文字列に対する操作を行う演算子として、文字列の連結と文字列の繰り返しを行う演算子が用意されています。ここでは Perl における文字列の連結と文字列の繰り返しを演算子を使って行う方法について解説します。

(Last modified: )

文字列を連結する(.)

文字列の連結を行うには . 演算子を使います。書式は次の通りです。

"文字列1"."文字列2"

. 演算子の左辺及び右辺に記述された文字列を連結した新しい文字列を返します。この時「文字列1」及び「文字列2」自体には変化がありません。

次のサンプルを見てください。

my ($str1, $str2);

$str1 = "Hello.";
$str2 = $str1."World";

変数 $str1 と文字列 "World" を . 演算子を使って連結し、連結した文字列を変数 $str2 に格納します。結果として $str2 には "Hello.World" という文字列が格納されます。

なお文字列の連結については「文字列を連結する」で詳しく解説しています。

文字列を繰り返す(x)

対象の文字列を指定した回数だけ繰り返した新しい文字列を作成することができます。 x 演算子を使います。

"文字列" x 繰り返し回数

x 演算子の左辺に書かれた文字列を右辺に書かれた回数だけ繰り返した新しい文字列を返します。

次のサンプルを見てください。

my ($str1, $str2);

$str1 = "Hello.";
$str2 = $str1 x 3;

変数 $str1 に格納された文字列を x 演算子を使って 3 回繰り返した "Hello.Hello.Hello." が変数 $str2 に格納されます。

サンプルコード

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

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

my ($str1, $str2, $str3);

$str1 = "こんにちは。";
$str2 = $str1."伊藤さん。";
$str3 = $str1 x 3;

print "$str1\n";
print "$str2\n";
print "$str3\n";

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

perl sample.pl

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

文字列の連結と文字列の繰り返し(1)

文字列と文字列の連結、および文字列を指定した回数繰り返した結果を画面に表示しました。

-- --

Perl における文字列の連結と文字列の繰り返しを演算子を使って行う方法について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

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