sub func {
  my(*x1, *x2) = @_;
}

ってダメなの?