SWITCH: { if (..cond1..) {... last SWITCH}; if (..cond2..) { ... grab one row fetchrow_hashref ..populate field names.. do {..code last if blah; ...code... } while (condX); last SWITCH }; if (..cond3..) {... last SWITCH}; }