1. Perl / Говнокод #12371

    −121

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    # ...
           my @suitable =
            sort {
                my $cmp = 0;
    
                for my $attr (qw(_customer_class _environment _authorship)) {
                    if (defined($a->{$attr}) && defined($b->{$attr})) {
    
                        if ($attr eq '_authorship') {
                            if ($a->{$attr} ne TEMPLATE_AUTHORSHIP_SYSTEM) {
                                $cmp = -1; last;
                            }
                            else {
                                $cmp = 1; last;
                            }
                        }
                        else {
                            next;
                        }
                    }
                    elsif (defined($a->{$attr})) {
                        $cmp = -1; last;
                    }
                    elsif (defined($b->{$attr})) {
                        $cmp = 1; last;
                    }
                    else {
                        next;
                    }
                }
    
                return $cmp;
            }
            grep {
                (!defined($_->{_customer_class}) || $_->{_customer_class} == $params{customer_class})
                &&
                (!defined($_->{_environment}) || $_->{_environment} == $params{environment})
            } @found;

    Just Another Perl Cracker

    Запостил: Elvenfighter, 27 Декабря 2012

    Комментарии (5) RSS

    • Все имена вымышлены, а совпадения случайны.
      Ответить
    • функция сравнения с циклом внутри? даже я до такого не опускался.
      Ответить
      • Это ваше "даже" как-то подозрительно звучит...
        http://tinyurl.com/d4mtlmk
        Ответить
        • то что я делаю внутри grep{}/map{}/sort{} останется тайной, известной только мне, интерпретатору перла и моему психиатору.
          Ответить
    • vanished
      Ответить

    Добавить комментарий