# Two variants instead of the split rot13sub "hashslice-m", sub { my ($x) = @_; my @t = $x =~ /./gs; join '', @rotd{@t}; }; rot13sub "hashslice-u", sub { my ($x) = @_; join '', @rotd{unpack "(a)*", $x}; };