@expectthese = ("pattern1", "pattern2", "pattern3"); @sendthese = ("string1", "string2", "string3"); $exp->expect($timeout, [qr/$expectthese[0]/, sub { select(undef, undef, undef, 0.25); $exp->send("$sendthese[0]"); do_stuff...} ], [qr/$expectthese[1]/, sub { $exp->send("$sendthese[1]"); select(undef, undef, undef, 0.25); do_other_stuff...} ], [qr/$expectthese[2]/, sub { $exp->send("$sendthese[2]"); select(undef, undef, undef, 0.25); do_this_stuff...} ], );