The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#!/usr/bin/perl
# Created by Ben Okopnik on Tue Jun  8 22:47:05 EDT 2010
use warnings;
use strict;
# use Term::Menu::Hierarchical;
use Term::Menu::Hierarchical;
use Tie::IxHash;	# Keep the top-level menu items in order

my $a = 0;
# my %data = (
tie(my %data, 'Tie::IxHash', 
	Breakfast => {
		'Milk + Cereal'	=> undef,
		'Eggs Benedict'	=> 'Classic hangover fix.',
		'French Toast'	=> 'Nice and easy for beginners.'
	},
	Lunch	=>	{
		'Mushroomwiches'=> 'A new take on an old favorite.',
		'Sloppy Janes'	=> 'Yummy and filling.',
		'Corn Dogs'		=> 'Traditional American fare.'
	},
	Dinner	=>	{
		Meat		=>	{
			'Chicken Picadillo'	=>  'Mmm-hmm!',
			'Beef Stroganoff'	=>  'Is good Russian food!',
			'Turkey Paella'		=>  'Home-made goodness.'
		},
		Vegetarian	=> {
			'Asian Eggplant'	=>	'Tasty.',
			'Broccoli and Rice'	=>	'Fun.',
			'Chickpea Curry'	=>  'Great Indian dish!',
			Desserts			=>	{
					'Almond Tofu'	=>	'Yeah, I know - sounds weird...',
					'Milk Shake'	=>	'Comfort food!'
			}
		}
	},
	NumList	=>	join "\n", map { $a++ } 1..150	# Demonstrates multiple page handling
);

menu(\%data);