#!/usr/bin/perl use 5.008; # 5.8 required for "stable" threading use strict; use warnings; use threads; use threads::shared; use IO::SOCKET; use Data::Dumper; my @threads; for (my $i = 0; $i < 5; $i++) { my $thread = threads->create(\&start_thread, "localhost:80"); $thread->detach; push @threads, $thread; } sleep(2); print STDERR "done\n"; exit; sub start_thread { my $tid = threads->self->tid; print STDERR "Start $tid\n"; sleep(1); # do something in the thread print STDERR "Finish $tid\n"; }