#!/usr/bin/perl use strict; use warnings; use threads; use Thread::Queue; my $queue = Thread::Queue -> new; threads -> create ("popper", $queue) -> detach for (1..10); my $message="this is a line of test around the right size"; while (1) { $queue -> enqueue ($message) for (1..100); sleep 1 while $queue -> pending; print $/,`ps -eo vsize,args | grep $0 | grep -v grep`; } sub popper { print "started a popper\n"; my $queue = shift; while ($queue -> dequeue) { print "."; } }