ASとか

開発系の記事が多めです。タイトルのASはActionScriptの略です。

数値と文字列

浮動小数

  • Perlの内部での計算は倍精度浮動小数点数で行われる
  • つまり内部では整数値というものは無い
  • でも浮動小数点数用の演算子も整数用の演算子もあるよ
  • 10の何乗かを表すE記法(指数記法)を付けられる
    • 7.25e45(7.25かける10の45乗)
    • -6.5e24(マイナス6.5かける10の24乗)

整数

  • アンスコで繋げて読みやすく
    • 61_298_040_283_768

数値演算子

  • 剰余できます
    • 10 % 3 = 1
  • べき乗もできます
    • 2**3 = 8

文字列

  • シングルクォート文字列リテラル
    • シングルクォートと逆スラ(続けて置いた場合)以外のすべてを文字として認識する
    • 文字中にシングルクォートを入れたい場合は逆スラでエスケープ
    • 改行文字を入れたい場合は連結させるとか
  • ダブルクォート文字列リテラル
$hoge = "hoge";
print "string: $hoge\n";

@hogefuga = qw/hoge fuga/;
print "array1: @hogefuga\n";
print "array2: ".@hogefuga."\n";
perl test.pl
string: hoge
array1: hoge fuga
array2: 2
$s1 = "hoge" x 3;
print "repeat1: $s1\n";

$s2 = 5 x 4;
print "repeat2: $s2\n";
$ perl test.pl 
repeat1: hogehogehoge
repeat2: 5555

スカラー変数

  • 頭に$,変数宣言後も$はずっと付く
  • 比較演算子は数値と文字列で別に用意されている(eq, ne等)
    • 文字列は標準文字列ソート順で判定
  • ブール値
    • 0、空文字は偽
  • 未定義値はundef
    • 基本0または空文字列として振る舞う
    • 警告ONの場合はprintで表示しようとすると警告
    • defined関数で偽が返ればundef