in reply to Creating a Hash from Two Arrays

Right, you'll probably want to implement this as a hash of arrays. The hash key will be the @switches element, and the resulting data item will be an array of values from your @values array (well, the ones that aren't also in the switches array).
my %Args; # Hash of arrays for arguments. my $SwitchName; # The current switch name foreach ( @values ) { if ( /^\-/ ) { $SwitchName = $_; else { push ( @{ $Args{ $SwitchName } }, $_ ); } }
That should produce the data structure that brother fglock mentioned in the first reply.

--t. alex
but my friends call me T.