use CGI qw(header); use HTML::Template; my @array = ( "Synergy", "Strategic fit", "Core competencies", "Out of the box", "Bottom line", "Revisit", "Take that off line", "24/7", "Out of the loop", "Benchmark", "Value-added", "Proactive", "Win-win", "Think out side the box", "Fast track", "Result driven", "Empower (ment)", "Knowledge base", "At the end of the day", "Touch base", "Mindset", "Client focus (ed)", "Ballpark", "Game plan", "Leverage", "Top down", "User friendly", "On time", "Within budget", "Forecast", "Optimistic", ); my $html = do {local $/;}; my $tmpl = HTML::Template->new(scalarref => \$html); # double map borrowed from merlyn and slightly altered $tmpl->param( row => [ map {{ col => [ map { { data => splice(@array, rand scalar @array, 1) } } 1..5 ] }} 1..5 ] ); print header, $tmpl->output; __DATA__ Bullshit Bingo