Perlのパイプと斜線
||
はundefも空文字も同じ扱いで右辺が評価される。
//
はundefなら右辺が評価される。
基本的に雰囲気で書いているから「Perl ななめ」とか「Perl 斜線」で出てこないからあれ?ってなる
#!/usr/bin/env perl use strict; use warnings; use utf8; my $undef = undef; my $empty = ''; ## // { my $test1 = $undef // 'test1!!'; my $test2 = $empty // 'test2!!'; print "Test 1 is " . $test1 . "\n"; print "Test 2 is " . $test2 . "\n"; #Test 1 is test1!! #Test 2 is } ## || { my $test1 = $undef || 'test1!!'; my $test2 = $empty || 'test2!!'; print "Test 1 is " . $test1 . "\n"; print "Test 2 is " . $test2 . "\n"; #Test 1 is test1!! #Test 2 is test2!! } ## //= は//と同じ { my $test1 = $undef //= 'test1!!'; my $test2 = $empty //= 'test2!!'; print "Test 1 is " . $test1 . "\n"; print "Test 2 is " . $test2 . "\n"; #Test 1 is test1!! #Test 2 is } ## ||= は ||と同じ { my $test1 = $undef ||= 'test1!!'; my $test2 = $empty ||= 'test2!!'; print "Test 1 is " . $test1 . "\n"; print "Test 2 is " . $test2 . "\n"; #Test 1 is test1!! #Test 2 is test2!! }