Perlで電気ストーブを作る方法
俺の調べによるとPerlという言語は元々電気ストーブの開発の為に
生み出された言語だというではないか。では、Perlでどのようなコードを
書いたら電気ストーブが作れるのか皆で考えようじゃないか。 負荷のかかるコード書いて、CPUで暖まるんじゃないの?
円周率の計算とか、フラクタルの計算するとか。
せいぜいウズラの目玉焼きつくれるくらいだけどね。 1chip Linuxと拡張SRAMにPerlとかが入れば電気ストーブ制御も可能かもしれない。 アスロンXPにでっかくて分厚い銅板をつけて無限ループさしてやればホットプレートにはなるかも知れない。
perlとも電気ストーブとも関係ないのだが
http://www.goto.info.kanagawa-u.ac.jp/~horiyuki/rfc/rfc2324-jp.txt
>>1はこの手のネタとかが好きなのかな?
Perlで電気ストーブ出来たよ!
っていってもオムライス作るのでいっぱいいっぱい。。。
ソースいる? >>39
オムライスならソースよりケチャップがいいな ━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━― ∧_∧
ピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。
=〔~∪ ̄ ̄〕
= ◎――◎ 山崎渉
__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄ ∧_∧ ∧_∧
ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。
=〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
= ◎――――――◎ 山崎渉&ぼるじょあ (⌒V⌒)
│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン できた!
while(1) {$i++}
CPUに負荷がかかって温度が上がり、暖房として使えるようになります。 >>52
もう少しおもしろいこと言って欲しかったです >>52
72分ぐらい笑ったぞ!責任取れ!がははh “負荷をかける”じゃなくて、温度を上げるプログラムってのは無いのかな。 >>63
電気ストーブは負荷をかけて温度を上げてます。 while($a = $a)
print'マシーンから熱が出て、電気ストーブになります'; 残念ながらperlでストーブを作ることはできない。
phpならできるだろう。 電気ストーブを作ってみましたが、うまく動作しません。うまくうごくように直してください、おながいします。
以下ソース
#!/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)
}