- 论坛徽章:
- 0
|
##献丑
#!/usr/bin/perl -w
use strict;
use warnings;
my @apple;
{ local $/;
@apple = split /(?:<Garden>|\bApple>)\r?\n/, <DATA>;
}
shift @apple;
my $footer = pop @apple;
@apple = map { $_->[0] }
sort { $a->[1] <=> $b->[1] }
map { [ $_, &appleID($_) ] }
@apple ;
sub appleID {
my ($id) = $_[0]=~/<apple id="(\d+)/i;
return $id;
}
print "<Garden>\n";
print $_ ."Apple>\n" for @apple;
print $footer, "\n";
__DATA__
<Garden>
<Apple id="110" name="AAA" permission="readwrite">
<Banana type="uint32" sizeOf="1" name=""/>
</Apple>
<Apple id="10" name="BBB" maxIndex="1" permission="readwrite">
<Banana type="uint8" sizeOf="1" name=""/>
<Banana type="uint16" sizeOf="1" name=""/>
</Apple>
<Apple id="27" name="CCC" maxIndex="1" permission="readwrite">
<Banana type="uint8" sizeOf="1" name=""/>
<Banana type="uint32" sizeOf="1" name=""/>
</Apple>
<Apple id="23" name="DDD" maxIndex="91" permission="readwrite">
<Banana type="uint8" sizeOf="1" name=""/>
</Apple>
</Garden> |
|