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

    −112

    1. 1
    print "Match" if 'ab' =~ /^a?(?=b)b/;

    Я не один раз находил ошибки в Perl особенно в Perl регулярных выражениях. Некоторые из них уже исправили, но одна остаётся и в версии ActiveState Perl 5.10.

    BlackMonolit, 15 Апреля 2011

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

    −127

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    #!/bin/perl                                                                                    
    use Crypt::Blowfish; use Crypt::CBC;                                                           
    $encrypt_key= 'key';                                                                           
    $crypted_text = '53616c7465645f5fd56d1d101fb3adbf1d10cd5ce49b40868dd03da0de64c86bde6bfc3102e20aad6f4447b1fd1aacd8de66f6709cb643b56ebd16c8b8b6f86c0abc6dd6750ad3d71a558d7236102d8e730d11ded42a26d1';                                                                       
    $cipher_handle = new Crypt::CBC($encrypt_key,'Blowfish');                                      
    $text = $cipher_handle->decrypt_hex($crypted_text);                                            
    print $text;

    Не говнокод.

    Tanger, 01 Апреля 2011

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

    −120

    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
    use strict;
    use warnings;
    
    my $expr = $ARGV[0] || die();
    my $n = $ARGV[1] || die();
    die if ($n < 1) || ($n > length($expr));
    
    $expr =~ tr/[\xc0-\xdf]\xa8/[\xe0-\xff]\xb8/;   # lc
    ($expr =~ m/^[\xe0-\xff\xb8\-]+$/s) || die();
    
    
    open(F, 'index') || die("failed to open 'index': $!");
    while (<F>)
    {
        chomp();
        print "$_\n" if (match($_, $expr, $n));
    }
    close(F);
    
    
    sub match
    {
        my ($str, $expr, $n) = @_;
    
        return if length($str) != $n;
        foreach my $letter (split(//, $str))
        {
            my $pos = index($expr, $letter);
            return if ($pos < 0);
            substr($expr, $pos, 1, '');
        }
    
        return 1;
    }

    собирает из букв слова
    использовать совместно со словарем
    вот мой это индекс русского вики
    http://files.mail.ru/CNVUDS

    iliym, 31 Марта 2011

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

    −125

    1. 1
    2. 2
    3. 3
    4. 4
    use Date::Calc qw (Delta_Days);
    use strict;
    my $delta = Delta_Days(1601, 1, 1, 2008, 8, 12);
    print "Delta is $delta\n";

    дни нашей жизни

    iliym, 31 Марта 2011

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

    −124

    1. 1
    grep {$a_b_props = ($a_b_props && $a_b_props.".").(($block < 1)? &dupl($tempProps{$_}) : $tempProps{$_}) if /^[ab]_/} sort keys %tempProps;

    туда же...

    abadonna, 30 Марта 2011

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

    −124

    1. 1
    @AoH_SUBSinFILE = map {&parseSubmodel($_, $block)} $g_file_content =~ m/\s*?(inst .+?vars  \\.+?[^\\])\n/gs;

    Говнокод4obfuscation :)

    abadonna, 30 Марта 2011

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

    −124

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    sub WidthOf()
    {
      my %WIDTHES =('90','195','118','165', ...  over9000   ...'43','255');
      my $TextWidth;
    
      map {$TextWidth += $WIDTHES{ord $_} || 200} split //,@_[0];
      return $TextWidth;
    }

    abadonna, 30 Марта 2011

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

    −116

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    sub chooseType()
    {
    	grep {return $_ if @_[0]  =~ /$_/} (keys %TYPES);
    	return "";
    }

    люблю map и grep :)

    abadonna, 30 Марта 2011

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

    −121

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    sub removeSpaces {
      my $str = $_[0];
      while ( $str =~ /[\t ]+/ ) {
        $str = $`.$';
      }
      return $str;
    }

    Найдено при разборе скрипта подготовки данных для тестов.

    Dimio, 29 Марта 2011

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

    −126

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    #!/usr/bin/perl
    
    @zips = ();
    while(<>){
    @zips = m{([a-z]5[a-z])}igx;
    for(my $j=0;$j<=$#zips;$j++){
    $i = index($_,$zips[$j]);
    print "$zips[$j] pos $i\n";
    };
    print "$zips\n";
    
    }

    Находит комбинацию буква 5 буква

    AliceGoth, 20 Марта 2011

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