use enum qw[ IN DBI_ENUM ]; # *CHANGED* my @Qs = map Thread::Queue->new(), 1 .. 2; # set up two Qs ... ## start 10 walkers # *CHANGED* next line my @walkers = map{ threads->create( \&walker, @Qs[ IN, DBI_ENUM ] ) } 1 .. $T; ##