in reply to chained hash slices?

Expressions that read the double slice are easy to come by; aliases are harder. This seems to work though:
@{ my $sub; my @refs = @h{@a}; do {$sub = sub { @refs ? $sub->(@_,@{po +p @refs}{@b}) : \@_ }}->() }
I would love to hear how it could be simplified.