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

    −139

    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
    #!/usr/bin/perl -w
    
    use strict;
    use warnings;
    use diagnostics;
    use LWP::Simple;
    
    binmode(STDOUT, ":utf8");
    
    my $url = 'http://govnokod.ru/comments';
    my $document = get $url;  die "Couldn't get $url" unless defined $document;
    $document =~ s/\n/ /g;
    $document =~ s/\h+/ /g;
    my @arr = ( $document =~ m/(?<=\<strong class="entry-author">)(.*?)(?<=\<a class="answer")/gi );
    my $str;
    my @sink;
    
    foreach my $val (@arr) {
    	$val =~ m/(?<=\>)(.*?)(?=\<\/a\>)/i;
    	$str = "Author:    ".$1;
    	$val =~ m/(?<=published" title\=")(.*?)(?=")/i;
    	( my $dt, my $tm ) = split('T', $1);
    	$str = $str . "\nDate:      " . $dt;
    	$str = $str . "\nTime:      " . $tm;
    	$val =~ m/(?<=\<\/abbr\> \<a href\=")(.*?)(?=" name\=)/i;
    	$str = $str."\nLink:      ". $1;
    	$val =~ m/(?<=\<div class\="entry-comment">)(.*?)(?=\<\/div\>)/i;
    	$str = $str . "\nComment:   " . str_formater($1);
    	push(@sink, $str);
    }
    
    @sink = reverse (@sink);
    foreach my $v (@sink) {
    	print ("\n".("+" x 81)."\n"."$v\n");
    }
    print ("\n".("+" x 81)."\n\n");
    
    sub str_formater {
    	my $str = $_[0];
    	my $res="";
    	my $cmt_len = 69;
    	my $cmt_indent = 11;
    	while (1) {
    		if (length($str)<=$cmt_len) {
    			return $res . $str;
    		}
    		$res = $res . substr($str,0, $cmt_len) . "\n" . (" " x $cmt_indent);
    		$str = substr($str, $cmt_len);
    	}
    	return $res;
    }
    exit 0;

    Давненько перловку не заваривал...

    Запостил: sayidandrtfm, 06 Августа 2012

    Комментарии (18) RSS

    • Можно, кстати, как в моей govnotify.pl прикрутить вызов notify-send, для оперативного оповещения.
      Ответить
      • Выкладывайте, ознакомимся.
        Ответить
      • nic.pl говорит, шо
        govnotify.ch available
        govnotify.li available
        govnotify.lt available
        govnotify.lv available
        govnotify.pl available
        govnotify.com.pl available
        govnotify.net.pl available
        govnotify.org.pl available
        govnotify.to available
        govnotify.co.uk available
        govnotify.biz available
        govnotify.com registered
        govnotify.net available
        govnotify.info available
        govnotify.org registered
        Ответить
        • > govnotify.pl available
          Зарегать и разместить там RSS на сток?
          Ответить
    • Пацаны, а давайте прикрутим скрипт к нашему говнокоду, который бы делал все синие подчёркнутые ссылки кликабельными.
      Ответить
      • А давай не надо?
        Ответить
        • Не боись, с братом всё хорошо будет.
          Ответить
          • Если ссылки будут кликабельными, это же не по-пацански будет. Кликнуть любой дурак сможет.
            Ответить
            • > не по-пацански
              > Кликнуть любой дурак сможет.

              - Эй ты чё, иди-ка сюда.
              - А? Чего?
              - Сиги есть шоль?
              - Нету.
              - Чё, спортсмен? А если найду? Гы-гы-г
              Ответить
      • А как же троллинг ньюфагов некликабельными ссылками и сообщениями от модератора?

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

    Добавить комментарий