文字列連結演算子「.」 - 文字列の連結
文字列連結演算子「.」を使うと文字列を連結することができます。
my $str3 = $str1 . $str2;
文字列を連結するサンプルです。
my $str1 = 'ABC'; my $str2 = 'DEF'; my $str3 = $str1 . $str2;
文字列「$str3」は「ABCDEF」になります。
Perlでは文字列連結を加算演算子「+」で行うのではないので注意しましょう。「+」は数値の加算に使い「.」は文字列の連結に使います。
変数展開との使い分け
文字列が変数だけで構成される場合は変数展開を使って書くのが簡単です。
my $str1 = 'ABC'; my $str2 = 'DEF'; my $str3 = "$str1$str2";
関数と組み合わせて使う場合は、文字列連結演算子が便利です。
my @nums = (1, 2, 3); my $title = 'Number:'; my $output = $title . join(',', @nums) . "\n";
参考:join関数
特殊な代入演算子
特殊な代入演算子「.=」を使うと、自分自身の文字列に連結することができます。
my $str1 = 'ABC'; $str1 .= 'DEF';
文字列「$str1」は「ABCDEF」になります。
繰り返し演算子
繰り返し演算子「x」を使うと、同じ文字列を複数回連結することができます。
my $str = 'ABC' x 3;
文字列「$str」は「ABCABCABC」になります。
サンプルプログラム
文字列を連結するサンプルです。
use strict; use warnings; # 1: 文字列の連結 my $str1 = "1"; my $str2 = "2"; print "\$str1 = $str1 \n"; print "\$str2 = $str2 \n\n"; my $cat_str = $str1 . $str2; print "1: 文字列の連結\n"; print "\$cat_str = $cat_str\n\n"; print " + で結ぶと計算してしまう\n"; my $sum_str = $str1 + $str2; print "\$sum_str = $sum_str\n\n"; # 2: 繰り替えし同じ文字列を連結する。 my $multi_cat_str = $str1 x 5; print "2: 繰り返し連結\n"; print "\$multi_cat_str = $multi_cat_str\n";