半空洞男女関係

思ったこととかプログラミングしてるときのメモとか色々かいてます。メールはidそのままgmail

レッツプッシュ購読

初めてのPerl: 第1章, 第2章

初めてのPerlやってるんで今までやってきた言語とちょっと違うところとかを書いてみる

第1章

  • こんにちは世界

第2章

基本的に大体代入とかできるっぽい

シングルクォート文字列リテラル vs ダブルクォート文字列リテラル

  • シングルクォートの文字列リテラルは改行文字とか書いても解釈されないでそのまま出てくる
    • エスケープできるのは(バックスラッシュ)と'(シングルクォート)だけ
  • 一方でダブルクォートの文字列は色々展開される
  • 変数展開が行われる
    • $n = 10; print "n is $n"; #=> "n is 10"

文字列

  • ピリオドで文字列をつなげられる
  • 文字列繰り返し演算子
    • "str" x 5ってやると"strstrstrstrstr"ってなる
    • 4 x 5は"44444"

ワーニング

  • use warnings; もしくは -wオプションでワーニング出せる
  • もっと詳しく内容を知るには use diagnostics;

bool値

  • true / falseみたいなのはない
  • 値が数値の時
    • 0:false
    • その他:true
  • 値が文字列の時
    • '':false
    • その他:true
    • '0'は0として扱われるのでfalseになる文字列

文字入力

  • $input = <STDIN>;

undef

  • まだ定義してない
  • definedでundefかわかる
    • perl -e 'if(defined(undef)) { print "not undef!"; } else { print "undef!"}' #=> undef!
    • perl -e 'if(defined($hoge)) { print "not undef!"; } else { print "undef!"}' #=> undef!
    • perl -e 'if(defined(30)) { print "not undef!"; } else { print "undef!"}' #=> not undef!

第3章

  • $#arrayで$arrayの最後のインデックスを取ってこれる

練習問題

suburi/perl/learning-perl at master · mactkg/suburi · GitHub

ディレクトリ構造間違えたと思う