- 行入力演算子:<>
#!/usr/bin/env perl use v5.12; use warnings; while (defined(my $line = <STDIN>)) { say "I saw $line"; } # defined($line = <STDIN>) の省略形 while (<STDIN>) { say "I saw $_"; } # <STDIN> で1行ずつ読み込むのは、whileの場合だけ。 # foreachだと、全ての行を一度に読み込んで$_ に突っ込む foreach (<STDIN>) { say "I saw $_"; }ダイヤモンド演算子<>:ユーザーが指定した場所から入力を読み取り
#!/usr/bin/env perl use v5.12; use warnings; # このプログラムを ./diamond.pl hoge.txt というコマンドで起動すると、 # hoge.txtの内容を読み取って出力する while (<>) { chomp; say "It was $_ that I saw!"; }autodie:
#!/usr/bin/env perl use v5.12; use autodie; open HOGE, '>>', 'hoge'; # openが失敗すると自動的にdie変数名の区切り:
#!/usr/bin/env perl use v5.12; use warnings; $str = "12345"; $width = 10; printf("%$widths", $str); # $widths が未定義だという警告が出る printf("%${width}s", $str); # ${変数名} と書けば、変数名の区切りを明示できる