Java
Perl

JavaとPerlで文字列の扱い方の違い

JavaとPerlの文字列

Javaでの文字列

基本的に「"」(ダブルクォーテーション)で括ったものが文字列となる。
例 "java"

変数として扱う場合はString型を宣言したのち、代入する。
例 String str = "java1";

Perlでの文字列

「'」(シングルクォーテーション)、若しくは「"」(ダブルクォーテーション)で
括ったものが文字列となる。
例1 'perl1'
例2 "perl2"

変数として扱う場合、型の概念を意識しなくてそのまま変数に代入出来る。
例3 my $str1 = 'perl1';
例4 my $str2 = 'perl2';

また、Perlではヒアドキュメントと呼ばれる記述方法を用いて、変数に文字列を
代入することも可能。
例5 my $str3 << 'EOD'
abc
defg
hijkl
EOD
(「abcdefghijkl」が変数に格納される)

JavaとPerlで文字列連結をする。

Javaでの文字列連結

Javaで文字列の連結をする際は、「+」演算子や「concat」メソッド、
StringBufferクラスやStringBuilderクラスを使用したりします。
例6 String str4 = "java1" + "java2"; ⇒ 変数str4には「java1java2」と
いう文字列が入っている。

Perlでの文字列比較

Perlで文字列の連結をする際は、「.」記号を使用する。
例7 my $str5 = "perl1"."perl2"; ⇒ 変数$str5には「perl1perl2」と
いう文字列が入っている。

JavaとPerlで文字列比較をする。

Javaでの文字列比較

Javaで文字列の比較をする際は、「equals」メソッドを使用する。
例8 "java1".equals("java2"); ⇒ 結果はfalse(偽)

Javaで「==」記号を使用した比較するとコンパイルエラーとなっていまう。

Perlでの文字列比較

Perlで文字列の比較をする際は、「eq」や「ne」といった文字列を
比較するための演算子を使用する。
例9 "perl1" ne "perl2"; ⇒ 結果はtrue(真)

JavaとPerlの違い。

宣言と代入

Javaは変数の型を決めダブルクォーテーションを使用しないといけないのに対し、

Perlは変数の型の指定は必要なく、ダブルクォーテーションじゃないといけない訳ではない。
何より、Perlにはヒアドキュメントという記述方法を使用して文字列を代入が出来るが
Javaにヒアドキュメントは存在しない。

文字列連結

Javaでよく使用される文字列連結は「+」記号が使用される。
Perlでの文字列連結は「.」記号が使用される。

文字列比較

Javaは「equals」メソッドを使用される。
Perlは「eq」や「ne」といった文字列比較用の演算子使用される。
※「eq」や「ne」といった演算子はJSPで使用できるEL式の比較演算子と同じ。

最後に
Javaでの開発でWebアプリケーションに携わっていたからPerlの比較演算子には
馴染みがあるけど、「.」記号で文字連結とヒアドキュメントで代入出来るという点は
中々慣れなさそう。