do{sub{%a = %{shift()}; %b = %{shift()}}->(&hoge)};

これで一応できました^^