2 package MyArray; 3 use base qw(autobox); 4 sub uc { return map { uc } @{$_[0]}; }; 5 6 7 package MyString; 8 use base qw(autobox); 9 10 sub split { [ split $_[1], $_[0] ] ; }; 11 12 13 package main; 14 15 16 use autobox ARRAY => 'MyArray'; 17 use autobox STRING => 'MyString'; 18 use feature 'say'; 19 20 say "one:two:three:four"->split(':')->uc();