はじめまして(た)Perlさん
「リャマ本」を読み始めたので私的勉強メモ。
スカラーデータ
数値
整数と浮動小数点数の両方を扱える。
1 #整数 1.45 #浮動小数点数 7.5e14 #7.5*10の14乗(指数記法)もかける 12_345_678 #12,345,678みたいな3桁の,区切りは_で書くことも可能
10進数以外は0で始まるのは8進数、0xは16進数、0bは2進数。
数値演算子
他の言語と同じ。
でべき乗。これはPythonと同じかな。
文字列。
これも、他の言語と同様、シングルクォートとダブルクォートがある。
でも、まったく同じというわけじゃなくて、
\nとか\tとかの逆スラッシュエスケープはダブルクォートを使わなないといけない。
文字列演算子
これはちょっと新しいかも。
文字列用の演算子がある。
JavaScriptだと
var str = "abc" + "defg"; //->strは"abcdefg"になる
$a = "abc"."defg";
と.で書く。
これはJavaScriptだと
var b = "1" + "3";//->bは"13"となる
となるけど、Perlだと
$b = "1" + "3"; #->bは4となる
からなんだろうな。
ちなみに
$c = "1abcd2" + "4";
はエラーにならず数字以外を無視して計算されて16となる。
繰り返し演算子もある。確かPythonだと*でできたはず。
Perlではxを使う。演算子に普通に記号じゃないxを使うのは
なんか変な感じがする。
これも大体同じ
カンマ区切りで引数を渡すことが可能。
これ、print()なんだろうけど()は省略可能ってことなのかな?
ダブルクォート展開
これはすごく変な感じ。
$f = "abcdefg"; print "12345 $f";#12345 abcdefgと表示される。
文字列の中なのに変数が展開される。
でも、
print "$fabcde";
はできない。そりゃそうか、、、