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

    −122

    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
    #!/usr/bin/perl
    use strict;
    
    # немного настроек
    my $url = "http://govnokod.ru/comments";
    my $min_delay = 2*60;
    my $max_delay = 30*60;
    my $delay_slowdown = 2;
    
    # получение идентификатора последнего коммента
    sub get_last_comment_info {
        print STDERR "Checking for the new comments...\n";
        my @content = `curl "$url" 2>/dev/null`;
        my $s = join(' ', @content);
        if ($s =~ /<a href=".*?\/(\d+)#comment(\d+)"/) {
            print STDERR "Last comment id was $2 in the thread $1\n";
            return ("thread" => $1, "comment" => $2);
        }
        print "Can't get new comments\n";
        return ();
    }
    
    # отправка сообщения
    sub notify {
        my ($id) = @_;
        print STDERR "Sending notify about $id\n";
        `notify-send "Кто-то наложил в $id"`;
    }
    
    my $last_id = undef;
    my $delay = $min_delay;
    while (1) {
        # смотрим есть ли новый коммент
        if (my %r = get_last_comment_info()) {
            if (defined($last_id) && $r{"comment"} > $last_id) {
                $delay = $min_delay;
                notify($r{"thread"});
            }
            $last_id = $r{"comment"};
        }
        # спим
        print STDERR "Sleeping for $delay seconds...\n";
        sleep($delay);
        # пересчитываем задержку
        $delay = $delay * $delay_slowdown;
        $delay = $max_delay if ($delay > $max_delay);
    }

    Говноскрипт для мониторинга сточных вод.

    bormand, 27 Мая 2012

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

    −122

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    my (@data) = $content =~ m#href="/show/\d+.*?">(.*?)</a>.*?(Ep: \d+).*?(at \d{2}:\d{2}).*?</small>#gsi;
    	
    for (my $i; $i < @data;){
    	$data .= $data [$i++].' '.$data [$i++].' '.$data [$i++];
    	$data .= "\n" unless $i == @data;
    }

    Распарсил.

    VictorVonSpok, 21 Мая 2012

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

    −119

    1. 1
    my $end_date = ($request =~ /<end_date>(\d\d\d\d-\d\d-\d\d \d\d:\d\d:\d\d)<\/end_date>/io) ? $1 : '';

    PSIAlt, 15 Мая 2012

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

    −176

    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
    <html>
    <head>
    <script type="text/javascript">
    	var url = location.href;
    	var key = '<meta name="keywords" content="" />';
    	var dsc = '<meta name="description" content="Радиозавод – одно из ведущих предприятий, выпускающее hd ресиверы – цифровые, спутниковые, кабельные, приставки dvb с, а также инфракрасные сушки для овощей и фруктов, зерновые сеялки и светодиодные светильники для жкх. Кроме того мы предлагаем вниманию наших клиентов мобильную медицинскую технику: передвижной пункт забора крови, стоматологический кабинет и т.д." />';
    	url = url.replace('http://','');
    	url = url.replace('www.','')
    
    	if(url == "domen.ru") {
    	    dsc = '<meta name="description" content=""Радиозавод" осуществляет производство светодиодных светильников. Инфракрасная сушка одно из приоритетных направлений деятельности. Производители светодиодных светильников это группа компаний "Радиозавод"." />';
    	    key = '<meta name="keywords" content="производство светодиодных светильников, производители светодиодных светильников, инфракрасная сушка" />';
    	}
    	if(url == "domen.ru/catpv.5.htm") {
    	    dsc = '<meta name="description" content="передвижной стоматологический кабинет" />';
    	    key = '<meta name="keywords" content="Передвижной стоматологический кабинет от компании "Радиозавод" это универсальное решение для любых условий эксплуатации." />';
    	}
    	if(url == "domen.ru/catp.19.htm") {
    	    dsc = '<meta name="description" content=""Радиозавод" предлагает сеялку зерновую точного высева. Купить сеялку можно уже сейчас, доставляем в регионы." />';
    	    key = '<meta name="keywords" content="купить сеялку, сеялка зерновая, сеялка точного высева" />';
    	}
    	if(url == "domen.ru/catpv.103.htm") {
    	    dsc = '<meta name="description" content="Сеялка пневматическая универсальное решение для сельхозработ от компании "Радиозавод"" />';
    	    key = '<meta name="keywords" content="сеялка пневматическая" />';
    	}
    	
    	if(url == "domen.ru/catpv.104.htm") {
    	    dsc = '<meta name="description" content="Сеялка овощная как наверное оборудовение подойдет для  любых тракторов. Всегда в наличие овощная сеялка точного высева." />';
    	    key = '<meta name="keywords" content="овощная сеялка точного высева, сеялка овощная" />';
    	}
    	
    	if(url == "domen.ru/catpv.108.htm") {
    	    dsc = '<meta name="description" content=""Радиозавод" реализует светильники для теплиц в любом количестве. Светильник тепличный соответствует всем современным стандартам." />';
    	    key = '<meta name="keywords" content="светильники для теплиц, светильник тепличный" />';
    	}
    
    	/* ... тут еще куча такого же высера ... */
    
    	document.writeln(key);
    	document.writeln(dsc);
    </script>
    
    <title><TMPL_IF "header2"><TMPL_VAR "header2"><TMPL_ELSE><TMPL_VAR "start_header"><TMPL_IF "header"> - </TMPL_IF><TMPL_VAR "header"></TMPL_IF></title>

    Я даже вначале не знал в какую категорию это отнести.
    Сайт написан на Perl. Так как я не мастер в нем не буду выкладывать из него говнокод, вдруг он окажется мастер классом :)
    + Весело наблюдать закрытие тега meta в HTML.

    oooZinka, 10 Мая 2012

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

    −126

    1. 1
    if (!defined $login || (defined $login && length($login)<3 && length($login>16))) {

    PSIAlt, 22 Марта 2012

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

    −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
    my $uid = 0;
    	my $parse_uid = $parse_sid->{uid} || 0;
    	my $memd_uid  = $RR::Init::memd->get('sid'.$sid) || 0;
    	# Авторизуем при помощи memd
    	if ($parse_uid==$memd_uid){
    		$uid = $memd_uid;
    	}
    
    	# Запоминаем в Куку
    	$r->pnotes('USER_SID' => $sid);
    	$param{sid} = $sid;
    	
    	# Захватываем sid
    	unless (defined $uid){
    		$RR::Init::memd->set('sid'.$sid, 0);
    	}
    	# Всяке артефакты лезут
    	$uid||=undef;

    Лезут всякие артефакты видите ли...

    PSIAlt, 22 Марта 2012

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

    −118

    1. 1
    my $res_id = $q->param('ordernumber')?$q->param('ordernumber'):$q->param('order_idp')?$q->param('order_idp'):undef

    santa_microbe, 16 Февраля 2012

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

    −147

    1. 1
    вайп

    TarasGovno, 04 Января 2012

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

    −121

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    if ($movie->{'genre'}=~m/\,+/)  {
                    my @genre = split(',',$movie->{'genre'}) if $movie->{'genre'};
                    my $genre = join(",", split(',', $movie->{'genre'}, 2));
                    for (my $i = 0; $i <=1; $i++) {
                        $genre .= $genre[$i].',' if @genre;
                    };
                    $genre =~s/\,$//;
                    $movie->{'genre'} = $genre if ($genre);
    };

    На чем-то конкретном внимание заострять не буду.
    Код достаточно прост, но довольно неуклюж.

    santa_microbe, 09 Декабря 2011

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

    −122

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    sub GenRandomHash()
    {
    	my $self=shift;
    	my $number=shift||10;
    	my $plain='';
    	my @chars=('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z');
    	for (my $i=0;$i<$number;$i++)
    	{   
    		$plain.=$chars[rand(59)+2];
    	}
    return $plain;
    }

    Мне бы было лень вбить столько символов :)

    Alikus, 30 Ноября 2011

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