「利用者:Dsk/memo/perl」の版間の差分
提供: dsk's note
細 (→変数に初期値を代入) |
細 |
||
10行目: | 10行目: | ||
$a //= 1; | $a //= 1; | ||
$a = defined $a ? $a : 1;#以前はこう書いていた。 | $a = defined $a ? $a : 1;#以前はこう書いていた。 | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |||
+ | ===q - シングルクォートの代替表現=== | ||
+ | エスケープしなくてもよいので便利。 | ||
+ | <syntaxhighlight lang="perl"> | ||
+ | my $a = q/<h1>title</h1>/; | ||
+ | q(<h1>title</h1>) | ||
+ | q{<h1>title</h1>} | ||
+ | q#<h1>title</h1># | ||
+ | q[<h1>title</h1>] | ||
+ | q!<h1>title</h1>! | ||
+ | |||
</syntaxhighlight> | </syntaxhighlight> | ||
2015年5月15日 (金) 15:17時点における版
変数に初期値を代入
$a ||= 'test';
Defined-or演算子 //
- Defined-or演算子は、左辺が定義されている場合、左辺値を返し、未定義の場合は右辺値を返す。これを利用して、変数に初期値を代入してみる。
- undefだったら1を代入する。0の場合は0。
$a //= 1; $a = defined $a ? $a : 1;#以前はこう書いていた。
q - シングルクォートの代替表現
エスケープしなくてもよいので便利。
my $a = q/<h1>title</h1>/; q(<h1>title</h1>) q{<h1>title</h1>} q#<h1>title</h1># q[<h1>title</h1>] q!<h1>title</h1>!
配列 デリファレンス
for (@{$test->{hoge}}) { print $_, "\n"; }
$rec = { NAME => "Jason", AGE => 23, PEERS => [ "Norbert", "Rhys", "Phineas"], }; $rec->{NAME} @{ $rec->{TEST} }
ファイル操作
- Path::Class
- File::Slurp - Simple and Efficient Reading/Writing/Modifying of Complete Files