Perlで電気ストーブを作る方法
■ このスレッドは過去ログ倉庫に格納されています
俺の調べによるとPerlという言語は元々電気ストーブの開発の為に
生み出された言語だというではないか。では、Perlでどのようなコードを
書いたら電気ストーブが作れるのか皆で考えようじゃないか。 電気ストーブを作ってみましたが、うまく動作しません。うまくうごくように直してください、おながいします。
以下ソース
#!/Perl/bin/perl
@pairs = split(/&/,$ENV{'QUERY_STRING'});
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$QUERY{$name} = $value;
};
if ($QUERY{'O N'} eq 'ON') {
$heater = '#ff6666';
}
else{$heater = '#ffcccc';}
print "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"><html><head><meta http-equiv=\"content-type\" content=\"text/html; charset=Shift_JIS\"><title>stove</title></head><body>\n";
print "<table cellpadding=\"0\" cellspacing=\"0\" border=\"1\" width=\"250\">\n";
print "<tbody><tr>\n";
print "<td valign=\"top\" width=\"25\" rowspan=\"6\" colspan=\"1\" bgcolor=\"#ffffcc\"><br></td>\n";
print "<td valign=\"top\" width=\"10\" rowspan=\"1\" colspan=\"8\"><br></td>\n";
print "<td valign=\"top\" width=\"25\" bgcolor=\"#ffffcc\" rowspan=\"6\" colspan=\"1\"><br>\n";
print "<form method=\"get\" action=\"../cgi-bin/stove.pl\" >\n";
print "<center><input type=\"submit\" name=\"ON\" value=\"O N\"></center><br>\n";
print "<center><input type=\"submit\" name=\"OFF\" value=\"OFF\"></center><br>\n";
print "</form></td></tr>\n";
print "<tr>\n";
以下続く。 ソースの続き。
for (1..8){
print "<td valign=\"top\" width=\"10\" height=\"20\"><br></td>\n";
}
print "</tr><tr>\n";
for (1..8){
print "<td valign=\"top\" width=\"10\" bgcolor=\"$heater\"><br></td>\n";
}
print "</tr><tr>\n";
for (1..8){
print "<td valign=\"top\" width=\"10\" height=\"20\"><br></td>\n";
}
print "</tr><tr>\n";
print "<td valign=\"top\" width=\"10\" rowspan=\"1\" colspan=\"8\"><br></td></tr></tbody></table>\n";
print "<br></body></html>\n"; 超負荷をかけて無限ループ
&
CPUファン等の冷却装置をはずす。
ほっかほか。(*´д`*)アハァ まったくどいつもこいつも、それは「電気ストーブ」じゃなくて「ファンヒーター」だろ
電気ストーブ完成版
#!/Perl/bin/perl
print "Content-type: text/html", "\n\n";
@pairs = split(/&/,$ENV{'QUERY_STRING'});
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$QUERY{$name} = $value;
};
if ($QUERY{'ON'} eq 'ON'){$heater = '#ff6666';}else{$heater = '#ffcccc';
}
print "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"><html>\n";
print "<head><meta http-equiv=\"content-type\" content=\"text/html; charset=Shift_JIS\"><title>stove</title></head><body>\n";
print "<table cellpadding=\"0\" cellspacing=\"0\" border=\"1\" width=\"250\"><tbody><tr>\n";
print "<td valign=\"top\" width=\"25\" rowspan=\"6\" colspan=\"1\" bgcolor=\"#ffffcc\"><br></td>\n";
print "<td valign=\"top\" width=\"10\" rowspan=\"1\" colspan=\"8\"><br></td>\n";
print "<td valign=\"top\" width=\"25\" bgcolor=\"#ffffcc\" rowspan=\"6\" colspan=\"1\"><br>\n";
print "<form method=\"get\" action=\"../cgi-bin/stove.pl\" >\n";
print "<center><input type=\"submit\" name=\"ON\" value=\"ON\"></center><br>\n";
print "<center><input type=\"submit\" name=\"OFF\" value=\"OFF\"></center><br>\n";
print "</form></td></tr><tr>\n";
つづく 電気ストーブ完成版
つづき
for (1..8){print "<td valign=\"top\" width=\"10\" height=\"20\"><br></td>\n";
}
print "</tr><tr>\n";
for (1..8){print "<td valign=\"top\" width=\"10\" bgcolor=\"$heater\"><br></td>\n";
}
print "</tr><tr>\n";
for (1..8){print "<td valign=\"top\" width=\"10\" height=\"20\"><br></td>\n";
}
print "</tr><tr>\n";
print "<td valign=\"top\" width=\"10\" rowspan=\"1\" colspan=\"8\"><br></td></tr></tbody></table>\n";
print "<br></body></html>\n";
実際動くところを見せておくれ。
机上の空論になっとる。 #!/Perl/bin/perl
while(1)
{
print "あったかほかほか\n";
}
#CPUから暖かい熱が出てきます。 while(1) {
fork;
print("あっかたーい");
} 電気ストーブ制御用のプロトコルつくって、
RFCに登録したら?
で、Perlでそれを実現するコーディングを。
electricstove://www.foobar.st/ Perlはプログラミング言語なのでどう頑張っても
電気ストーブの材料にはならないでしょう。
ただし、スレタイをよく読むと材料として使うと
は書いてありません。
電気ストーブの製造時にPerlを使ってもよいわけ
です。あるいはPerlという土地で電気ストーブを
作るというのも一案です。
そんなわけで私は地名の方を調べてきます...
AtomAPI で操作できる電気ストーブにしたら便利じゃね? あぁ,あと RSS で室温,残り燃料を配信したら一部の人にとっては便利かもしれない.
来るべく冬に備えて,そろそろこのプロジェクト始動しないと.
<font face="Webdings" size="5" color="black">Y</font> /\__,ヘ,
ノノノノハヽ
リノ‘ヮ‘リノ
((^)uu(^) .○⌒\
.(二二二)
.__( ´D`)
/ .o つ
(_;し―J .○⌒\
.(二二二)
.__リノ‘ヮ‘リノ
/ .o つ
(_;し―J
☆ノノハヽ
リノ‘ヮ‘リノ <
(l]つ:)]つ
く_,._,._,.ゝ
トテテテ…(__/"(__) ノノノノハヽ
川`・_・´)||
ノ/ /L
ノ ̄ゝ 仕事でperl使ってる手前、おかしくて仕方が無いw マルチスレッドで、それぞれにwhileループで円周率の計算をさせるとかどうよ。 >>1
昔仕事で作ったやつだけど、どうぞ。
#!/usr/bin/perl
use strict;
use Jcode;
use danbou;
my $obj = danbou->new;
print "Content-type: text/html\n\n";
#コタツ利用
print Jcode->new($obj->japanese_kotatsu)->euc;
##ストーブ利用
#print Jcode->new($obj->stove)->euc;
print '(゚д゚)ウマー';
exit; >>105
WebProg板だけに、サーバサイドスクリプトなのね。 Perlを暴走させて、発熱させたPCをコタツにするのですか? 発熱させるのはPCだからPCでストーブを作ったことになるのでは? Perlで負荷をかけてPCが発熱したら、やっぱりPerlじゃないかな? PICマイコンつかえば応用が利く、総司令部はPerlから。
そういう発想はできないのか、おまえら PCで熱源になるのはCPUだけではない・・っ!
CPU・GPU・HDD等の各種ドライブ・電源・マザーボード・・・このご時世、殆ど全てのパーツが熱源に変わるのだ。
さぁ!これらのパーツを選りすぐって厳選し、ほっかほかのPCを作り上げるのだ!
CPU:最大消費電力100W以上の物を、可能なら2個搭載したい。
GPU:対応している物で最も高性能な物にしておけば特に問題はない。
HDD:RAID構成にしておくと大量の読み書きで負荷を高める際にプログラムが簡単になって後々楽。
電源:恐ろしい消費電力の為に何気に超重要パーツ。選ぶポイントはとにかく大容量。
ファン:高負荷状態でも安定動作させるために必須。空気の流れを考慮しつつ強力な物を沢山。
そして、絶対に忘れてはならない物がある。
・熱を封じ込める狭い空間の構築に欠かせない”コタツ台”!
・熱を外に逃がさず蓄えるための”コタツ布団”!
うん、僕はコタツ派なんだ許しておくれ。
この発熱スペックを極限まで発揮するPerlを誰か考えてくれ。 ワイルで無限ループもいいけどさぁ。
限界があることに気づこうよ。 >>16
あ?ヒアドキュメントでくくって文字列出力しただけじゃねーか。
粋がってんじゃねーぞド素人が!! #!/usr/local/bin/perl
$cgiurl = 'stove.cgi'
$stove_no = 'Stove_2ch';
$stove_id = 'attaka';
$stove_ps = 'pokopoko';
$stove_time = 10;
require './cgi-lib.pl';
use STOVE;
&decode;
&header;
if ( $in{'m'} eq 'connect') { &sv_connect } #ストーブON
elsif ( $in{'m'} eq 'disconnect') { &sv_disconnect } #ストーブOFF
else { &err("不正な入力 [$in{'m'}] です");} #不正処理
print <<HTML;
<form method="POST" action="$cgiurl">コマンドを入力してください:<input type=text name=m size=20></form>HTML
exit;
sub sv_connect{ $stv = STOVE -> connect($stove_no , $stove_id , $stove_ps) }
sub sv_disconnect{ $stv -> disconnect }
sub decode{
local($key,$val); &ReadParse;
while ( ($key,$val) = each(%in) ) {
$val =~ tr/+/ /; $val =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$Fm{$key} = $val;
}
}
sub header { print "Content-type: text/html\n\n" }
sub err{
print "<b>_$[0]</b><br>$stove_time秒後に爆発します。";
$stv = STOVE -> bomb($stove_no , $stove_id , $stove_ps , $stove_time)
} 真面目な話、while(1)なんかよりも
指数関数的に処理が増えていくやつの方が
即効性があるんじゃないのかと言おうとしてやめた。 TCP/IPは元々コヒーポット遠隔制御のために作られたプロトコルです >>122
まさかお前今までwhileのことをウィルとでも読んでたのか? 段々と冬の気配が近づいてまいりました。
皆様、いかがお過ごしでしょうか。 段々と冬の気配が近づいてまいりました。
皆様、いかがお過ごしでしょうか。 perlで電気ストーブってどうやって作るんですか? 残念ながら今の先物価格だと灯油が120円は軽く超えます。
灯油がガソリン以上にかなり買い占めされています。
冬は160円相当にまでなってます。
石油を使わない電気ストーブまたはエアコンを考えてください っつかPerlでは電気ストーブ以外作ったことないすけど。。。
他に何かできるんすか?
6年経つと言うのに未だに無限ループで発熱させる方法から進歩してなくてワロス 今年は油高ぇからなあ。氏にかねん。
Perlストーブ、alpha でいいからリリースしてくれ。 6年越しの衝撃の事実に恐れおののくが良い
電気ストーブの英訳は"electric heater"
"electric stove"は調理器具 あー思いついた。
それほど負荷になるのかどうかは知らんが、
Perlで自分(CGI)自身にアクセスするCGI作って、それをwhileでループさせてみるとか。
そうすれば、多分延々自分にアクセスするかと。(タイムアウトとか無視した場合) こんな感じでどうだろ。
#!/usr/bin/perl
use LWP::UserAgent;
print "Content-Type: text/html\n\n";
$i = 0;
while (1) {
my $ua = LWP::UserAgent->new;
my $req = HTTP::Request->new(GET => "http://$ENV{SERVER_NAME}:$ENV{SERVER_PORT}$ENV{SCRIPT_NAME}");
my $res = $ua->request($req);
$i = $i + 1;
print "$i,";
} 俺が自分用に作るなら、辛い料理の画像を表示しまくるだけで十分だな
辛い料理は見てるだけで汗が出てくる。
このスレまだあったのか!
最後の書き込みから、1年以上経ってるしw はっきり言って、Perlはすでに冷たくなっているんだが...
>>117
うはwww まだあったんかこれ
昔書いたコードがwwwくそショボイwwww いまさらなにいてんだ!おまえらのうちにあるストーブはみんなPerlで動いてるんだよ。温度調整から耐震制御まで全部Perlなんだよ! 理論的には作れる!間違いない。
でも内部のコードだけねPerlで作り利点は今の所ない。 誰でも簡単にネットで稼げる方法など
参考までに、
⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。
グーグル検索⇒『半藤のブブイウイウレレ』
IJOVM998Z5 ■ このスレッドは過去ログ倉庫に格納されています