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