□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■ ------------------ CGI・3分クッキング ---------------------(^○^)~~ 発行日:1999年7月13日 毎週火曜と金曜発行 Vol.【003】 ●PR●━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ★★★エンジニアのあなた!!★★★ 若くて、優秀なエンジニアの方を急遽募集中。優良企業の求人多数あり! click< http://a.clickincome.net/md/dk?mid=eeeebbd987d5b1991a5c7ce13d50492f > ⇔⇔Web新撰組News http://www.web-kyoto.com/ ⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔  新メールマガジン「燃えるUNIX道〜UNIXバカ一代」  7月21日創刊決定!今すぐ登録しよう!! http://www.web-kyoto.com/dp/unix/ ⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━●PR● □■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■ 【今日の献立:娯楽の殿堂】==========================================   前回の並べてポンがただ表を表示するだけだったので、今回から数回に渡って きちんとしたCGIに仕上げていきます。   形としては、「並べてポン2」に機能を追加していく、ということになります。   機能としては、   1:データを点数順に並べて表で表示(「並べてポン2」で完成済)   2:押すボタンを押すと、点数が1点増える   3:引くボタンを押すと、点数が1点減る   というものです。   あと、完成後に、「ホームページランキング」とかに使う方法も書く予定です。   で、今回は、機能追加の為の準備として、1の並べ替え機能部分をサブルーチン化 しましょう。 kacchoii.data(データファイル。これは前回までと一緒。) はぎちゃん:10000 もたえ:-10000 鷹:20 hanarakkyo.cgi(0.02) #!/usr/local/bin/perl $CgiName="./hanarakkyo.cgi"; $DataFile="./kacchoii.data"; &ShowHtml; exit; sub ShowHtml { open(IN,"$DataFile"); while(){ $data=$_; chop($data); push(@lines,$data); push(@keys,(split(/:/,$data))[1]); } close(IN); sub bykey { $keys[$b] <=> $keys[$a];} @sorted = @lines[sort bykey $[..$#lines]; print <<"EOL"; Content-type: text/html 娯楽の殿堂 娯楽の殿堂
EOL foreach $data (@sorted) { ($name,$point)=split(/:/,$data); print <<"EOL"; EOL } print <<"EOL";
なまえ点数  
$name $point
EOL }   並べ替えと表示の部分を、     sub ShowHtml { }   でくくって、その前にexit;を持ってきただけです。   この sub サブルーチン名 { }をサブルーチンと云って、     &サブルーチン名 で呼び出します。サブルーチンというのは、まあ、自分で作るPerlのコマ ンドとでも思って下さい。   この場合、データを並べ替えて表示する&ShowHtmlというコマンドを 作ったことになります。   次回からは、この&ShowHtmlサブルーチンは完成したものとして、 本文には載せませんので、大事に保存しておいて下さい。   次回は、ボタンを押した時のデータ(pushとpull)を受け取る部分を 同じくサブルーチンで書くことにしましょう。 ===============================================================【続く】 ---------------------------------------------------------------------- このメールマガジンは、 Subject部が、CGI3分クッキング【Vol.番号】は、まぐまぐ様にて、 ( http://www.mag2.com/ ) Subject部が、CGI3分クッキング Vol.【番号】は、Macky様にて、 ( http://macky.nifty.ne.jp/ ) Subject部が、CGI3分クッキング番号 は、Pubzine様にて、 配布致しています。 メールマガジンの解除について まぐまぐ様の解除は、 http://www.web-kyoto.com/dp/3min/ に、削除及び登録フォームを用意致しております。 Macky様の解除は、 http://macky.nifty.ne.jp/ を参考して下さい。 Pubzine様の解除は、 http://www.pubzine.com/srchid.asp?keyword=1379 に、削除及び登録フォームを用意致しております。 ---------------------------------------------------------------------- (^○^)/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 【お願い】 このマガジンについてのお問い合わせは、WEB新撰組メーリングリストで、 お願い致します。 参加方法は、 http://www.web-kyoto.com/ml/ を参考にして下さい。 はぎちゃんに対する質問・苦情・愛のムチは、このメールマガジンのリプライでどうぞ。 麗しいお嬢様の愛は個人的に大歓迎ですし、ムチには誠意をもってお答えします。 【今回の担当】 WEB新撰組CGIプログラマー はぎちゃん(萩原 逸郎)でした。                 監修 組長(津田 羊子)&鷹(津田 貴史) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\(^○^)