Come faccio ad eseguire una funzione ogni tot minuti?

codice:
$socket->listen();

while ( $client = $socket->accept() )
{

    while ( $str = <$client> ) { syswrite $client, uc($str) . "\r\n"; }
    
    # esegui funzione() ogni 10 minuti...

}

sub funzione() { return }
non è che devo eseguirla per forza dentro al ciclo while...ma di instinto mi è venuta di mettere la chiamata la dentro...