ハイパー間接オブジェクト記法タイム
perldoc perlobj-Indirect Object Syntax。
また気持ち悪い書き方を覚えてしまったぜ・・・。
use strict; use warnings; use CGI; my $args = { param1 => 'value1' }; my $q = new CGI$args; #=> typoじゃないよ! my $p1 = param $q('param1'); say $p1; #=> value1 my @q = $q; charset {$q[0]}('UTF-8'); #=> $q[0]->charset('UTF-8'); say charset $q; #=> Error! #=> say() on unopened filehandle charset say {*STDOUT}(charset {$q[0]}); #=> 'UTF-8' say STDOUT charset {$q[0]}; #=> 'UTF-8'
間接オブジェクト記法使うために{}で括るとかもうね。
間接オブジェクト記法は、print と say でこりごりです><