sub get_reserved { my $bits_ref = shift; my @bits = @{$bits_ref}; my @digits = map { chomp; if ( m/(\d+):(\d+)/) { ($1 > $2) ? ($2 .. $1) : ($1 .. $2); } else { $_; } } @bits; my @reg32set = map {0} 0 .. 31; my @index; if (@digits ne '') { map {$reg32set[$_] = 1;} @digits; @index = grep {if ($reg32set[$_] == 0) {$_;}} 0..31; } else { undef @index; } }