| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- package Dpkg::Fields;
- use strict;
- use warnings;
- use Exporter;
- our @ISA = qw(Exporter);
- our @EXPORT_OK = qw(capit set_field_importance sort_field_by_importance);
- sub capit {
- my @pieces = map { ucfirst(lc) } split /-/, $_[0];
- return join '-', @pieces;
- }
- my %fieldimps;
- sub set_field_importance(@)
- {
- my @fields = @_;
- my $i = 1;
- grep($fieldimps{$_} = $i++, @fields);
- }
- sub sort_field_by_importance($$)
- {
- my ($a, $b) = @_;
- if (defined $fieldimps{$a} && defined $fieldimps{$b}) {
- $fieldimps{$a} <=> $fieldimps{$b};
- } elsif (defined($fieldimps{$a})) {
- -1;
- } elsif (defined($fieldimps{$b})) {
- 1;
- } else {
- $a cmp $b;
- }
- }
- 1;
|