package Hommy; use warnings; use strict; use Exporter qw(import); our @EXPORT_OK = qw(teller); sub teller(\[$@%]); sub teller(\[$@%]) { my $in = shift; my $data = { SCALAR => sub { print join $/ => split // => ${ $_[0] } }, ARRAY => sub { print join $/ => @{ $_[0] } }, HASH => sub { for my $k ( sort keys $_[0] ) { print $k, join $/ => split // => $_[0]{$k}; } }, }; $data->{ ref $in }->($in); } 1; #### use warnings; use strict; use lib '.'; # note here use Hommy qw(teller); teller @{[(split//=>"home sweet home!")]};