use strict; use warnings; use XML::Simple; use Probe::ProbeUser; #uses base 'Class::DBI::MSSQL' use threads; my $config = XMLin('./probe.xml', ForceArray => 1); while (my ($type_name, $user_type) = each %{$config->{user}}) { for (my $i = 0; $i < $user_type->{quantity}; $i++) { threads->create( sub { my $user = Probe::ProbeUser->create( { pu_login => $user_type->{login}, pu_paswd => $user_type->{password}, pu_type => $type_name, } ); $user->execute(tasks => $user_type->{task}); } )->join(); } } __END__