特殊変数 $" と $, の違い
ちょっと「ん?」となったので。
今日Perl Tip. 配列をプリントアウトしたいぜ! - Lazy Programmer :-p
「それはプリントアウトじゃなくて変数展開だぜ」と細かい事を言ってみる。
my @food = qw/sashimi yakiniku purin/; local $" = ', '; # とすると print "@food"; # これは sashimi, yakiniku, purin になるが、 print @food; # これは sashimiyakinikupurin になってしまう。 "@food" eq 'sashimi, yakiniku, purin'; # true
「プリントアウトするときの区切り」は $,
my @food = qw/sashimi yakiniku purin/; local $, = ', '; # とすると print "@food"; # これは sashimi yakiniku purin になり、 print @food; # これは sashimi, yakiniku, purin になる。 "@food" eq 'sashimi, yakiniku, purin'; # false
この二つの特殊変数の覚え方は「$"は""でくくるとき、$,はprint 1,2,3ってするとき」と覚えよう!
つ use English