Several times in the recent past I have had to include or exclude things from a list such as records in a file, messages in a mailbox etc. These lists are indexed by numbers starting with 1. The include/exclude spec is a comma separated numbers/range of numbers, An example: the spec 2,17,35-37,49,61-63 expands to the list of numbers (2, 17, 35, 36, 37, 49, 61, 62, 63). I came up with the following ($range is expanded into @list): @list = map {m/(\d+)\-(\d+)/ ? ($1..$2) : $_;} split ",", $range; On occasion I wanted it to exapnd it to a hash with the numbers as keys, and a true value such as 1 being the value. I augmented the above to: %hash = map {$_ => 1} map {m/(\d+)\-(\d+)/ ? ($1..$2) : $_;} split ",", $range; I am sure that the gurus on this list can offer better solutions. /prakash ==== Want to unsubscribe from Fun With Perl? Well, if you insist... ==== Send email to <fwp-request@technofile.org> with message _body_ ==== unsubscribe