#Perl ## 変数 - 種類 - `$var`はスカラー - `@var`は配列 - `%var`はハッシュ - 宣言子 - `my` - ブロック内で有効 ## 配列 ### 初期化 ```perl my @array = ("aa", "bb", "cc") ``` これもOK??? ```perl my $array = [] ``` ## ハッシュ ### 初期化 ```perl my %hash = ("key1", "name1", "key2", "name2") # または my %hash = ("key1" => "name1", "key2" => "name2") ``` 指定しなければ空ハッシュ。 ```perl my %empty = () ``` ### 値の取得 `{}`で取り出す。 ```perl $hash{"key1"} ``` > [!attention] > `%hash{"key1"}`ではないので注意 ## モジュール - `use`で読み込む ## ファイル操作 `open`を使う。 - 第1引数はファイルハンドル名 - 第2引数はモードとファイルパスを空白で区切ったもの - 第2引数をモード、第3引数をファイルパスにすることも可 ```perl open(INPUT_HANDLER, "<", "input.txt") open(OUTPUT_HANDLER, ">", "output.txt") # または open(INPUT_HANDLER, "< input.txt") open(OUTPUT_HANDLER, "> output.txt") ``` ## 条件式 ### 比較演算子 https://perlzemi.com/blog/20161005147566.html `eq`や`ne`など[[Bash]]と同じ。[[📕Bashの文法#条件判定]]が参考になりそう。 ### パターンマッチ https://perlzemi.com/blog/20080331120697.html `=~`はパターンマッチ。正規表現が含むかをチェックする。 ## 文字列操作 - [[chomp]] ## エラーハンドリング - `die "message"` で `message` をエラーメッセージとして表示してプログラムを終了