「利用者: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