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

    −106.3

    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
    $str=~/(.+?)<\/h2><p>(.+)/;
    ($d2,$str)=($1,$2);
    ($d2,undef)=split (/\,/,$d2);
    ($aday,$amn)=split (/ /,$d2);
    if ($amn=~/^я/i) {$amon='01'}
    elsif ($amn=~/^ф/i) {$amon='02'}
    elsif ($amn=~/^мар/i) {$amon='03'}
    elsif ($amn=~/^ап/i) {$amon='04'}
    elsif ($amn=~/^мая/i) {$amon='05'}
    elsif ($amn=~/^июн/i) {$amon='06'}
    elsif ($amn=~/^июл/i) {$amon='07'}
    elsif ($amn=~/^ав/i) {$amon='08'}
    elsif ($amn=~/^с/i) {$amon='09'}
    elsif ($amn=~/^о/i) {$amon='10'}
    elsif ($amn=~/^н/i) {$amon='11'}
    elsif ($amn=~/^д/i) {$amon='12'}

    Ещё один фрагмент граббера. Славное определение месяца :)

    Suor, 22 Декабря 2009

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

    −106.6

    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
    # ВЫШЕ БУДЕТ МАСИВ С 1 до 7 за семь дней дабы делать выборку
    for ($indx=0; $indx<7; $indx++) {	## каждый раз работаем с датой
    @sql=();
    
    my $bindings = 0;
    
    ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time+$indx*86400); # а тут надо будет написать что умножить эл. масива на чтото
    $date=($year+1900).'-'.($mon<9?'0':'').($mon+1).'-'.($mday<10?'0':'').$mday;
    $url2=$url.$date;
    #####$url2=$url;
    
    $cinema=&get($url2);
    
    ...
    
    } # это скобка массива

    Вот такой фрагмент парсера. Комменты читать по 3-4 раза для полного впечатления

    Suor, 22 Декабря 2009

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

    −110.6

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    my $style_doc = $parser->parse_string(q~
       ... Здесь идёт нормальный такой шаблон xslt
    ~);
    my $stylesheet = $xslt->parse_stylesheet($style_doc);
    
    my $results = $stylesheet->transform( $source );
    my $shit = $stylesheet->output_string($results);
    
    $shit =~ s%(<table.*?<table.*?</table>.*?</table>)\s*(<table.*?<table.*?</table>.*?</table>)\s*(<table.*?<table.*?</table>.*?</table>)%<tr><td valign="top">$1</td><td valign="top">$2</td><td valign="top">$3</td></tr>%gs;
    
    $shit = qq{<table cellpadding="0" cellspacing="8" border="0">${shit}</table>};
    print 'document.write('.JsUtils::js_object($shit).');';

    В xslt, очевидно, всё не осилили - добъём регуляркой :)

    Suor, 16 Декабря 2009

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

    −113.3

    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
    while (@PASSWORDS){
    my $idx=0;
    my @trl;
    while (@PASSWORDS && ($idx <= $threads)){
    my $pass = shift (@PASSWORDS);
    chomp($pass);
    my $len = length($pass);
    if ($len > 5){
    foreach my $user (@USERS){
    chomp($user);
    foreach my $url (@URLS){
    chomp($url);
    $trl[$idx]=threads->create(\&brut, $idx, \$url, \$user, \$pass);
    $idx++;
    }
    }
    }
    undef($pass);
    }
    for(@trl){
    my $url = $_->join;
    if ($url){
    @URLS = grep(!$$url, @URLS);
    undef($$url);
    }
    }
    undef(@trl);
    }

    фегня.

    xlt, 04 Декабря 2009

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

    −303.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
    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
    (?:(?:\r\n)?[ \t])*(?:(?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t]
    )+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:
    \r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(
    ?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ 
    \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\0
    31]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\
    ](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+
    (?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:
    (?:\r\n)?[ \t])*))*|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z
    |(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)
    ?[ \t])*)*\<(?:(?:\r\n)?[ \t])*(?:@(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\
    r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[
     \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)
    ?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t]
    )*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[
     \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*
    )(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t]
    )+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*)
    *:(?:(?:\r\n)?[ \t])*)?(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+
    |\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r
    \n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:
    \r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t
    ]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031
    ]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](
    ?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?
    :(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?
    :\r\n)?[ \t])*))*\>(?:(?:\r\n)?[ \t])*)|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?
    :(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?
    [ \t]))*"(?:(?:\r\n)?[ \t])*)*:(?:(?:\r\n)?[ \t])*(?:(?:(?:[^()<>@,;:\\".\[\] 
    \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|
    \\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>
    @,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"
    (?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t]
    )*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\
    ".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?
    :[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[
    \]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*|(?:[^()<>@,;:\\".\[\] \000-
    \031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(
    ?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*\<(?:(?:\r\n)?[ \t])*(?:@(?:[^()<>@,;

    И в том же духе еще 43 строки. Регулярное выражение для проверки емейл адреса. Все на полном серьезе и в соответствии со стандартом. Взято отсюда http://www.ex-parrot.com/~pdw/Mail-RFC822-Address.html

    alabax, 30 Октября 2009

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

    −115.1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    $oblom = 1;
    if ($pusto == 0) {#Если пусто, то сред никем не занят
    	$oblom = 0;
    } else {
    	$oblom = 0;
    .....

    Смотри на переменную $oblom
    В продолжение 2059

    Oleg_quadro, 29 Октября 2009

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

    −104.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if ($i > $#files) {
            $pusto = 0; #Это значит пусто
    } else {
            $pusto = 1;
    }

    Нашёл в своем давнешнем коде.
    $pusto = 0; #Это значит пусто
    Логика рулит.

    Oleg_quadro, 27 Октября 2009

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

    −122

    1. 1
    2. 2
    3. 3
    my $title=$self->{ditems}->get_field_value({SET=>'City', itemid=>$cityid, field=>'genitive_case', notitle=>1});
    $title='в '.$self->{ditems}->get_field_value({SET=>'City', itemid=>$cityid, field=>'prepositional_case', notitle=>1}) unless length($title);
    return '' if $title eq 'в ';

    poltora, 22 Сентября 2009

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

    −91.4

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    sub inet_aton{
      my $n_ip;
      $sth1 = $dbh->prepare("SELECT inet_aton(\"$_[0]\") as inet_aton");
      $sth1->execute();
      while (my $ips = $sth1->fetchrow_hashref()) {
        $n_ip = "$ips->{'inet_aton'}";
      };
      $sth1->finish();
      return $n_ip;
    };

    вот так в одном коммерческом продукте получают ip-адрес в виде int'а

    Mihard, 17 Сентября 2009

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

    −90.5

    1. 1
    2. 2
    3. 3
    for (@$payments) {
    		push @{$pays}, $_;
    	}

    да ну и так ясно.. наверно хотел преобразовать как то массив

    bildja, 10 Сентября 2009

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