関数の書き換え
知らんかったのでメモ
use strict; use warnings; sub puts { print "@_\n" } my @args = qw/Panty and Stocking with Garterbelt/; puts(@args); { no strict 'refs'; no warnings 'redefine'; my $orgin_puts = *{'main::puts'}{CODE}; # local *main::puts = sub { $oring_puts->(reverse @_) }; #このスコープ内だけ適用なら local つけるといいっぽい *main::puts = sub { $orgin_puts->(reverse @_) }; puts(@args); } puts(@args);
結果
Panty and Stocking with Garterbelt Garterbelt with Stocking and Panty Garterbelt with Stocking and Panty
知っていて当然の方法なのかな