1. 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)
  2. 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)
  3. 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)
  4. Perl / Говнокод #6136

    −124

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

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

    abadonna, 30 Марта 2011

    Комментарии (2)
  5. 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)
  6. 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)
  7. 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)
  8. 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)
  9. Perl / Говнокод #5792

    −102

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    ($sec,$min,$hour,$mday,$mon,$year) = localtime(time);
    if ($sec < 10) {$sec = "0$sec";}
    if ($min < 10) {$min = "0$min";}
    if ($hour < 10) {$hour = "0$hour";}
    if ($mday < 10) {$mday = "0$mday";}
    if ($mon < 10) {$mon = "0$mon";}
    $mon++;
    $year = 1900 + $year;
    print "[$mday-$mon-$year $hour:$min:$sec]\n";

    Добиваем нулями

    rohard, 24 Февраля 2011

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

    −115

    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
    # Функция обновляет файл базы
            # Пользоваться: cut_jnl($bc, $local_ip, $jnl_string_new);
            sub cut_jnl
            {
    
                         my ( $bc, $ip_old, $string_new ) = @_;
                         open (JNL, "<$bc->{const}{base_jnl}");
                         undef $\;
                         my @all_file = <JNL>;
                         close JNL;
                         chomp($string_new);
                         $string_new .= "\n" if ($string_new ne '');
                         grep { s/.*$ip_old;.*/$string_new/sg } @all_file;
                         open (JNL, ">$bc->{const}{base_jnl}");
                         grep { print JNL } @all_file;
                         close JNL;
                         $bc->{const}{info}->debug("Update jnl, update string: $ip_old on $string_new");
    
            }

    no comments... особенно доставляют инструкции grep {}, это похлеще map {} будет.

    SadKo, 22 Февраля 2011

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