1*00b67f09SDavid van Moolenbroek#!/bin/perl 2*00b67f09SDavid van Moolenbroek# 3*00b67f09SDavid van Moolenbroek# Copyright (C) 2007, 2012 Internet Systems Consortium, Inc. ("ISC") 4*00b67f09SDavid van Moolenbroek# 5*00b67f09SDavid van Moolenbroek# Permission to use, copy, modify, and/or distribute this software for any 6*00b67f09SDavid van Moolenbroek# purpose with or without fee is hereby granted, provided that the above 7*00b67f09SDavid van Moolenbroek# copyright notice and this permission notice appear in all copies. 8*00b67f09SDavid van Moolenbroek# 9*00b67f09SDavid van Moolenbroek# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH 10*00b67f09SDavid van Moolenbroek# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 11*00b67f09SDavid van Moolenbroek# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, 12*00b67f09SDavid van Moolenbroek# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 13*00b67f09SDavid van Moolenbroek# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE 14*00b67f09SDavid van Moolenbroek# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 15*00b67f09SDavid van Moolenbroek# PERFORMANCE OF THIS SOFTWARE. 16*00b67f09SDavid van Moolenbroek 17*00b67f09SDavid van Moolenbroek# Id: sort-options.pl,v 1.3 2007/09/24 23:46:48 tbox Exp 18*00b67f09SDavid van Moolenbroek 19*00b67f09SDavid van Moolenbroeksub sortlevel() { 20*00b67f09SDavid van Moolenbroek my @options = (); 21*00b67f09SDavid van Moolenbroek my $fin = ""; 22*00b67f09SDavid van Moolenbroek my $i = 0; 23*00b67f09SDavid van Moolenbroek while (<>) { 24*00b67f09SDavid van Moolenbroek if (/^\s*};$/) { 25*00b67f09SDavid van Moolenbroek $fin = $_; 26*00b67f09SDavid van Moolenbroek # print 2, $_; 27*00b67f09SDavid van Moolenbroek last; 28*00b67f09SDavid van Moolenbroek } 29*00b67f09SDavid van Moolenbroek next if (/^$/); 30*00b67f09SDavid van Moolenbroek if (/{$/) { 31*00b67f09SDavid van Moolenbroek # print 3, $_; 32*00b67f09SDavid van Moolenbroek my $sec = $_; 33*00b67f09SDavid van Moolenbroek push(@options, $sec . sortlevel()); 34*00b67f09SDavid van Moolenbroek } else { 35*00b67f09SDavid van Moolenbroek push(@options, $_); 36*00b67f09SDavid van Moolenbroek # print 1, $_; 37*00b67f09SDavid van Moolenbroek } 38*00b67f09SDavid van Moolenbroek $i++; 39*00b67f09SDavid van Moolenbroek } 40*00b67f09SDavid van Moolenbroek my $result = ""; 41*00b67f09SDavid van Moolenbroek foreach my $i (sort @options) { 42*00b67f09SDavid van Moolenbroek $result = ${result}.${i}; 43*00b67f09SDavid van Moolenbroek $result = $result."\n" if ($i =~ /^[a-z]/i); 44*00b67f09SDavid van Moolenbroek # print 5, ${i}; 45*00b67f09SDavid van Moolenbroek } 46*00b67f09SDavid van Moolenbroek $result = ${result}.${fin}; 47*00b67f09SDavid van Moolenbroek return ($result); 48*00b67f09SDavid van Moolenbroek} 49*00b67f09SDavid van Moolenbroek 50*00b67f09SDavid van Moolenbroekprint sortlevel(); 51