七行プログラミング

このエントリーをはてなブックマークに追加
420nobodyさん
6行RSSリーダー 設置して.cgi?以降にfeedのURLを入力
モジュールてんこ盛りなのでもっと短く書けるはず

use LWP::Simple;use CGI":all";use XML::RSS;$h = new CGI;$r = new XML::RSS;
$r->parse(get("$ENV{'QUERY_STRING'}"));%c = %{$r->{'channel'}};
print $h->header.'<a href="'.$c{'link'}.'">'.$c{'title'}.
"</a><br>$c{'description'}<br>";print "<ul>";for $item (@{$r->{'items'}}){
print '<a href="'.$item->{'link'}.'">'.$item->{'title'}.
"</a><br>$item->{'description'}<br>";}print "</ul>".$h->end_html;
421sage:2006/10/13(金) 18:14:55 ID:???
test
422nobodyさん:2006/10/13(金) 18:17:21 ID:yRLkeiwT
>>421
まさか7行で2chに書き込めるスクリプトを?!
423nobodyさん:2006/10/13(金) 22:26:56 ID:???
7行も要らんけどな
424nobodyさん:2006/10/13(金) 23:51:02 ID:???
書き込みのモジュールなんてあった??<<Perl脳
425nobodyさん:2006/10/14(土) 00:15:13 ID:???
書き込みっつーかPOSTするだけだろ
426nobodyさん:2006/10/14(土) 00:45:55 ID:???
>>425
単にPOSTするだけって単にPOSTしただけじゃread.cgiに弾かれる
427nobodyさん:2006/10/14(土) 01:32:50 ID:???
私はPHPならなんとか作れそうだが、それ以前に2chの仕様を勉強しなくちゃだな。
428nobodyさん:2006/10/14(土) 01:42:28 ID:???
POST先はbbs.cgiだけどな
429nobodyさん:2006/10/14(土) 02:59:59 ID:???
>>428
それすら知らなかった漏れは百回くらい正規表現の勉強でもしましょうか?
430nobodyさん:2006/10/14(土) 06:34:52 ID:???
>>420
縮めた。

#!/usr/bin/perl
use LWP::Simple;use XML::RSS;$r=new XML::RSS;parse$r get$ENV{QUERY_STRING};use
CGI":all";%c=%{$r->{channel}};put header,a({href,$c{link}},$c{title}),br,$c{$d=
description},br,ul(li[map a({href,$_->{link}},$_->{title}).br.$_->{$d}.br,@{$r
->{items}}]),end_html
431nobodyさん:2006/10/14(土) 14:05:08 ID:???
>>430
sugeeeeeeeeeeeeeeeeeeeeee
問題無く動いた
432nobodyさん:2006/10/14(土) 15:01:38 ID:???
>>430 からもうちょい縮めた上で HTML がまともになるよう追加。

#!/usr/bin/perl
use CGI":all";use LWP::Simple;use XML::RSS;$r=new XML::RSS;sub A{a{href,$_[0]->
{link}},$_[0]->{title}}charset$C="UTF-8";parse$r get pop;%c=%{$$r{channel}};put
header,start_html(-encoding,$C,lang,ja),h1(A\%c),p($c{$d=description}),ul(li[
map A($_).br.$$_{$d},@{$$r{items}}]),end_html

二行半も空いてるけど付け加える機能を思いつかず。
433nobodyさん:2006/10/14(土) 15:13:56 ID:???
>>432
未読管理機能なんかオススメ
二行半でやる方法は思い浮かばないorz

むしろ、どういう過程を経て効率的なソースが引けるようになったのかの方に興味あり苦笑
どこか参考にしたサイトとかあります?
434nobodyさん:2006/10/15(日) 11:53:37 ID:???
>>433
> 未読管理機能
ほい。新着タイトルを太字表示。

#!/usr/bin/perl
use CGI":all";use LWP::Simple;use XML::RSS;$r=new XML::RSS;dbmopen%n,"7rssrdr",
420;charset$C="UTF-8";sub A{($t,$l)=@$_{"title","link"};a{href,$l},$n{$l}++?$t:
b$t}parse$r get pop;%c=%{$$r{channel}};put header,start_html(-encoding,$C,lang,
ja),h1(A$_=\%c),p($c{$d=description}),ul(li[map A.br.$$_{$d},@{$$r{items}}]),
end_html

> どこか参考にしたサイトとかあります?
駱駝本とか perldoc とか。冗談でも何でもなく。
この遊びのノウハウなら http://cm.xrea.cc/techinfo.cgi に。
435nobodyさん:2006/10/16(月) 01:39:15 ID:???
>>434
>駱駝本とか perldoc とか。

さもありなんというか結局質の高い基本が一番役にたつんだろうな