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

    +15

    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
    package Whatever;
    
    use strict;
    use warnings;
    use Data::Dumper;
    
    use constant {
        PASSWORD            => 'password',
        PROFILE             => 'profile',
        ROOT_USER_DN        => 'bind-dn',
    };
    
    sub _export_data {
        my ($self, $data) = @_;
        # внутренняя логика не важна: просто напечатаем что получили
        print Dumper($data);
    }
    
    sub method {
       my ($self) = @_;
    
    # <govnokod location="here">
       $self->_export_data({
          map { __PACKAGE__->$_ => $self->{'_' . lc $_} } qw(PASSWORD PROFILE ROOT_USER_DN)
       });
    # </govnokod>
    }
    
    package main;
    
    # быстро создадим обьект (чтоб не копировать конструктор)
    my $obj = bless {
        _password     => 'foo',
        _profile      => 'bar/baz',
        _root_user_dn => 'cn=root,dc=example,dc=com'
    } => 'Whatever';
    
    $obj->method();

    Захотелось вы**нуться: експортнуть несколько значений внутри обьекта по константам с такими же названиями...

    Запостил: Elvenfighter, 09 Марта 2016

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

    • >>> # быстро создадим обьект
      ...пока никто не заметил!
      Ответить
      • ... пока Оккам не заметил
        Ответить
        • Амаяк Акопян
          Ответить
          • Сим-салабим!
            Ответить
            • Покажи фокус!
              Ответить
              • Ахалай-махалай:
                my $str = "265 dogs and 1488 cats are walking at 42 street";
                my $count =()= $str =~ /\d/g;
                print $count;


                Программа считает количество цифр в строке:
                http://ideone.com/XRgdp4
                Ответить
                • хуйня это, а не фокус

                  Сделай так что бы у меня баба появилась
                  Ответить
                  • О, щербет моей души, покажи ты, что можешь!

                    Ром-баба в любом магазине есть и стоит, как батон хлеба.
                    Ответить
                • Да это же оператор гоатсе!
                  Ответить
                • not exp log srand xor s qq qx xor
                  s x x length uc ord and print chr
                  ord for qw q join use sub tied qx
                  xor eval xor print qq q q xor int
                  eval lc q m cos and print chr ord
                  for qw y abs ne open tied hex exp
                  ref y m xor scalar srand print qq
                  q q xor int eval lc qq y sqrt cos
                  and print chr ord for qw x printf
                  each return local x y or print qq
                  s s and eval q s undef or oct xor
                  time xor ref print chr int ord lc
                  foreach qw y hex alarm chdir kill
                  exec return y s gt sin sort split
                  Ответить
            • Бля, я так и думал, что Акопян - перлоёб. Как в хрустальный шар глядел.
              Ответить
    • Ух-ух, лапоточки мои, Что вы ходите как будто не туды? Вы меня совсем не держите, Упаду - вы не поддержите!
      Ответить

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