月宮あゆのPerl教室 Part.4
■ このスレッドは過去ログ倉庫に格納されています
0001月宮あゆ
02/02/19 14:34ID:???〃┏━━ 、
パタパタ | ノノソハ))) / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(((\リリ ´ー` リ < うぐぅ♪
((ニE/⌒ヾ∞"ヽ \____________
(こ) ∞ |こ)
く__∞,ノ
し' し'
0500nobodyさん
03/01/25 19:41ID:???いや、>>37でいいたいのはelse ifとelsifの違いじゃないのか?
というかなんで今さら>>37に(ry
0501nobodyさん
03/01/25 20:37ID:???'´ ヽ.
,' ノノノ)))〉
く((レ゚ ‐゚ノァ >>500
く/jつつ >>496 の上2行読みましたか?
/__il〉 >>37が言いたいことについてはその通りだと思いますが、内容が間違ってます。
し'ノ
ま、ここはム技板じゃないし、
「なんか難しい理由があってelsifを使うらしい、 理由は忘れたけどタイプ数も少なくて楽だしラッキー」
でもいいと思います。(でも嘘を言って回るのはやめましょう)
0502月宮あゆ ◆XalkKQX1is
03/01/25 23:14ID:???|. ノノソハ)))
(\リリ ´ー`)リ < 掲示板
(ニE(#つo⊂#)
ここまでのまとめのソースだよ。
どういう処理をしてるのか必ずわかるようにしておいてね。
http://www.geocities.co.jp/SiliconValley-Sunnyvale/8274/perl/perl0008.txt
▼ どうも正確に出ない、って言う人がいたら、右クリックして保存するといいかも。
じゃあ次回は、文字列の処理に関することを勉強するね。
#じゅうぶんテストできてないからおかしくなったりしちゃうかも。。。
0503月宮あゆ ◆XalkKQX1is
03/01/25 23:17ID:???最初は難しく思うかもしれないね。
でも少しずつ複雑なパターンに慣れていくといいんじゃないかな
>>495
ボクができそうなのは .htaccess くらいかな・・
あとは誰か他の人がやってくれるならいいかもしれないね
それはそうと、最後のやつ、どういう意味だよっ!
0504nobodyさん
03/01/26 01:54ID:NkO4LfXaいや、君の本業というか・・・
0505nobodyさん
03/01/26 01:55ID:???0510nobodyさん
03/01/29 08:50ID:???〃┏━━ 、
パタパタ | ノノソハ))) / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(((\リリ ´ー` リ < age
((ニE/⌒ヾ∞"ヽ \____________
(こ) ∞ |こ)
く__∞,ノ
し' し'
0511月宮あゆ ◆XalkKQX1is
03/01/29 20:47ID:???|. ノノソハ)))
(\リリ ´ー`)リ < length
(ニE(#つo⊂#)
じゃあ、今度は新しい関数、 length について勉強するよ。
掲示板にものすっごく長い書き込みをされちゃったら、
とっても重くなっちゃったり大変だよね。。
じゃあ、今回は一定以上長い書き込みは禁止するような
方法を説明していくことにするね。
● = length ★
変数 ★ の長さ(バイト数)を返して ● に代入するよ。
たとえば、 1KB 以上の書き込みを禁止したいなら、
if ((length $in{message}) >= 1024) { &error("本文が長すぎだよ。。"); }
こんなふうに書けばいいね。
1KB=1000バイトだと思ってる人がいるかもだけど、1KB=1024バイトだよ。
if の条件部分が ((length $in{message}) >= 1024) っていう風に
2重カッコになってるけど、「ここは先に処理してね」っていう意味で使ってるよ。
>= 演算子は優先度が低いから、カッコを外しても正常に動作するよ。
このへんがよくわからないなら、カッコをつけててもまったく問題ないから、
あまり気にしなくてもいいよ。
次回は、ファイルテスト演算子について説明するね。
0512月宮あゆ ◆XalkKQX1is
03/01/29 20:48ID:???ボクは食い逃げなんてしないよっ
ひどいこと言わないで
>>506
「口が滑った」っていうのは、本音ってこと?
ひどいよっ!
0514nobodyさん
03/01/30 00:50ID:???if (length($in{message}) >= 1024) { &error("本文が長すぎだよ。。"); }
って書いちゃうけど、駄目?
0515nobodyさん
03/01/30 09:22ID:???うぐぅに逆らうな
0516ゆーいち
03/01/31 04:26ID:???★を省略すると$_が適用されるな。
それとmessageが裸の王様だ。
0518nobodyさん
03/02/01 08:44ID:???キロが1000だろーが1024だろーが何が違うんだ?
掲示板ごときでそんなこと気にしても役に立たんよ。
どっちも「約500文字以内」と注意書きを書くだけのことだし。
真面目に言ってるんじゃなく、あゆあゆの楽しい雑学教室♪などのつもりなら、
1KB=1024バイト、1kB=1000バイト、ネットワーク速度表記などで使われる
1Kbps=1024ビット/秒 くらいまで書いたら?
0519nobodyさん
03/02/01 08:45ID:???順次追加して覚えていけばいいんじゃない?
モレモ length() 派ダガナー
0520519
03/02/01 08:46ID:???0521nobodyさん
03/02/01 17:46ID:I7T2CIzoから来ますた。あゆがんがってね。
0522nobodyさん
03/02/01 18:33ID:U5MszDvjif (1024 <= bytes::length($in{message}) { &error("1024bytesを越えています。");
0523月宮あゆ ◆XalkKQX1is
03/02/01 23:06ID:???|. ノノソハ)))
(\リリ ´ー`)リ < ファイルテスト演算子
(ニE(#つo⊂#)
ファイルテスト演算子は、こんなことができる演算子だよ。
・このファイルがあるかどうかチェック (-e)
・ファイル(ディレクトリ)が読めるかどうかチェック (-r)
・ファイル(ディレクトリ)に書けるかどうかチェック (-w)
・ファイルかどうかチェックする (-f)
・ディレクトリかどうかチェックする (-d)
・ファイルのバイト数をチェックする (-s)
これくらい知ってるといいね。
実例だよ。
if ( -e "test.txt" ) { print "ファイルがあるよ"; }
else { print "ファイルないよ"; }
if ( -r "test.txt" ) { print "ファイルから読めるよ"; }
else { print "ファイルから読めないよ"; }
if ( -f "test.txt" ) { print "通常ファイルだよ"; }
else { print "通常ファイルじゃないよ"; }
$size = -s "test.txt";
print "$sizeバイト";
他にもいろいろあるんだけど、また必要になりそうだったら説明するね。
ややこしい説明はなるべく避けたいからね。。
じゃあ次回は、他の文字列処理関係の関数を勉強するよ
0524月宮あゆ ◆XalkKQX1is
03/02/01 23:11ID:???そう言われてみればそっちのほうが綺麗に見えるね…
意味的には同じだよ
>>516
うん、ボクのポケットリファレンスは使いすぎでもうボロボロ…
>>517
全角文字が2バイトってことは一般常識なんじゃないかな…?
>>518
いや、それは行が少しあまったから足しただけなんだよね
別にそんなに深い意味はないよ
>>519
うんうん、そうだよね
>>521
なぜかJaneで既読になっちゃってるよ…
>>522
そんなモジュールがあるんだ…
知らなかったよ
ちょっと調べてみるね
勉強になったよ、ありがとうね
0525nobodyさん
03/02/01 23:11ID:???$a = '100';
$b = '200';
$sum = length $a + length $b;
$sumは6になるでしょうか?
0528nobodyさん
03/02/02 10:23ID:EcuvSD39全角漢字で3バイトとかあるよね。
0529nobodyさん
03/02/02 10:23ID:EcuvSD393になる
と思うんだけどあってるか?
0530nobodyさん
03/02/02 10:40ID:???こう書くと判りやすいかも。@Ans. $sum = 3
0531nobodyさん
03/02/02 10:44ID:XEuBL7+y大仁田さんは。ときにはその半分の500万円を持って行ってしまします。
大仁田さんはどこの興行に出ても。「客が入ったのは俺のおかげじゃ!」と言い。
毎回20〜30万のギャラを持ってゆくのです。
前項でポーゴさんのギャラが破格だったと書きましたが。それでも1試合8万円です。
私たち程度の団体ではまったく考えられない金額でした。★故荒井氏著「倒産FMW」より抜粋
□自殺についての詳細はこちら
http://www.yomiuri.co.jp/hochi/battle/may/o20020516_40.htm
http://www.nikkansports.com/jinji/2002/seikyo020517_2.html
http://www.zakzak.co.jp/top/t-2002_05/2t2002051704.html
荒井元FMWプロレス団体社長を自殺に追い込んだ
大仁田議員に清き一票おながいします!
http://kenji03.hp.infoseek.co.jp/cgi-bin/kage/votec.cgi
0535nobodyさん
03/02/02 13:27ID:???知らずにはまることは無いと思う。
0536月宮あゆ ◆XalkKQX1is
03/02/10 16:39ID:???|. ノノソハ)))
(\リリ ´ー`)リ < substr
(ニE(#つo⊂#)
今日は、文字列の指定部分だけを取り出す、 substr っていう関数について勉強するよ。
● = substr ◆, ★, ■
◆ を対象に、 ★ バイト目から ■ バイト取り出した文字列を ● に代入するよ。
★ がマイナスなら、逆から数えるよ。
■ がマイナスなら、うしろから abs(■) バイト削ったところまで代入されるよ。 … ※
■ が省略されていたら、 ★ で指定した位置以降を全部代入するよ。
※ ● = abs ◆
数値 ◆ の絶対値を ● に返すよ
実例だよ。
$test = "abcdefghijklmnopqrstuvwxyz";
print(substr($test, 0)); # abcdefghijklmnopqrstuvwxyz
print(substr($test, 0, 10)); # abcdefghij
print(substr($test, 10, 10)); # klmnopqrst
print(substr($test, -10)); # qrstuvwxyz
print(substr($test, -20, -10)); # ghijklmnop
print(substr($test, 10, -10)); # klmnop
まあ、柔軟に使えるようにしておいてね。
0537月宮あゆ ◆XalkKQX1is
03/02/10 16:42ID:???うん、優先度を取り違えると間違えそうな例だね
>>526-528
今ちょっと調べてみたけど…
その通りみたいだね
初めて知ったよ
勉強になった、ありがとうね
0538ゆーいち
03/02/13 01:00ID:???俺は使わない派だな。
0539保守
03/02/23 22:30ID:???0542nobodyさん
03/02/25 12:07ID:???0543nobodyさん
03/02/25 18:40ID:???>高校入試が迫ってきてるんで更新頻度が下がるかもしれんです。。
リア厨やったんか
0544nobodyさん
03/02/25 19:38ID:???0545ほっしゅ
03/03/01 15:48ID:???0546初心者
03/03/02 17:25ID:EYbp7ypMexec関数は使えるのですか>
0547nobodyさん
03/03/02 20:12ID:???マジ!?(;´Д`)
0548nobodyさん
03/03/04 04:36ID:OXFQovKc>>547
マジなのかなぁ。
0549nobodyさん
03/03/04 04:40ID:???/:\.____\
|: ̄\(∩´∀`) \ <先生!こんなのがありました!
|:在 |: ̄ ̄ U ̄:|
http://saitama.gasuki.com/kaorin/
0551nobodyさん
03/03/05 00:41ID:5JBlRiko0552山崎渉
03/03/13 17:08ID:???0553nobodyさん
03/03/14 15:38ID:???(^^)
0554月宮あゆ ◆XalkKQX1is
03/03/16 05:27ID:???|. ノノソハ)))
(\リリ ´ー`)リ < 文字コードのおはなし
(ニE(#つo⊂#)
なんか順番が前後しちゃうような気もするけど、文字コードについて説明するね。
文字コードには、 Shift_JIS と JIS と EUC が主にあるよ。
Windows では、メモ帳で入力すると、Shift_JISとして保存されるよ。
Windows のデフォルトは Shift_JIS なんだ。
じゃあ、掲示板に投稿されたとき、 Windows じゃい OS から書きこまれたら、
別の文字コードになって、それを Shift_JIS として扱うから、
【文字化け】しちゃうことがあるんだ。
じゃあ、どうしてやるのがいいのか。
書きこまれたときに、「文字コードを変換」してやるといいね。
jcode.pl っていうライブラリをここで紹介しておくね。
ttp://srekcah.org/jcode/
他にもいろいろ方法があるけど、とりあえず一番楽かな…
require "jcode.pl";
&jcode::convert(\$xyz, 'sjis');
こうすると、 $xyz を Shift_JIS に変換することができるよ。
次回は実例をあげてみるね。
他にも機能があるよ。
ttp://www.mikeneko.ne.jp/~lab/kcode/jcode.html
0555月宮あゆ ◆XalkKQX1is
03/03/16 05:32ID:???>>538
えっと、ボクも普段は使わないんだけど、
他の関数を組み合わせるときは、つけるようにしてるよ。
>>539
ごめんね
これまですごく忙しくて
>>542-544
うん、そうだよ。だから忙しくて…
>>546
ボク、CGIぐらいしかいじったことないから、
そういうことはちょっとわからない、ごめんね
>>547
嫌だった?
>>548
14日だったんだよ
兵庫県は他より遅くて…
0556nobodyさん
03/03/16 07:22ID:???あゆちゃんの中の人、なんか知らんけどお疲れさま〜。
0557nobodyさん
03/03/16 09:43ID:???0558nobodyさん
03/03/17 05:24ID:???0559nobodyさん
03/03/17 18:08ID:???乙〜
0560nobodyさん
03/03/17 23:39ID:???system関数使うといいんでない
$ex = "c:\nantoka\nantoka.exe";
system ($ex);
openを使うときもあるけどたいていはnkf+sendmailを使ってメールを
飛ばすぐらいかなぁ
0561nobodyさん
03/03/18 08:58ID:???【「中の人」終了のお知らせ】 利用者各位
平素は「中の人」をご利用頂きありがとうございます。
長らく皆様に御愛用頂きました「中の人」ですがその役目を
終えたと判断し、このたびサービス終了の運びとなりました。
現在新規サービスを計画中ですので今後とも宜しくお願い致します。
0562nobodyさん
03/03/19 02:55ID:???0563nobodyさん
03/03/19 09:46ID:???乙〜
0564nobodyさん
03/03/19 14:26ID:???0565nobodyさん
03/03/19 14:26ID:???0566nobodyさん
03/03/19 14:28ID:???0567nobodyさん
03/03/19 14:28ID:???0568nobodyさん
03/03/19 14:28ID:???0569nobodyさん
03/03/19 14:29ID:???0570nobodyさん
03/03/19 14:29ID:???〃┏━━ 、
パタパタ | ノノソハ))) / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(((\リリ ´ー` リ < うぐぅ♪
((ニE/⌒ヾ∞"ヽ \____________
(こ) ∞ |こ)
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
く__∞,ノ
し' し'
0571nobodyさん
03/03/19 14:29ID:???0572nobodyさん
03/03/19 14:29ID:???0573nobodyさん
03/03/19 14:30ID:???0574nobodyさん
03/03/19 14:30ID:???何の事かさっぱりわかりません。
0575nobodyさん
03/03/19 14:30ID:???〃┏━━ 、
パタパタ | ノノソハ))) / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(((\リリ ´ー` リ < COMMON GATEWAY INTERFACE
((ニE/⌒ヾ∞"ヽ Httpサーバとプログラムを繋ぐためのインターフェース規格(?)
(こ) ∞ |こ) CGIの条件とは
| ∞,| ・そのサーバで実行できる形式である。
| ∞,| ・標準入力/出力を扱える。
| ∞,| ・環境変数を取得できる。
| ∞,| なんだよ。
| ∞,|
| ∞,| これさえ満たしていれば言語は問われないんだ。
| ∞,| テキスト処理が得意なPerl君と高速で使える人が多いC君が
| ∞,| 主に使われてるよ。
| ∞,|
| ∞,| もちろん、PascalやLISP(?)、RUBYなどもOK。
| ∞,| WIndowsNTがサーバならVBもつかえるんだよ。うぐぅ。
| ∞,| \____________
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
く__∞,ノ
し' し'
0576nobodyさん
03/03/19 14:30ID:???0577nobodyさん
03/03/19 14:30ID:???0578nobodyさん
03/03/19 14:30ID:???〃┏━━ 、
パタパタ | ノノソハ))) / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(((\リリ ´ー` リ < 逃げる直前まで、「お金を払うよオーラ」を出すんだよ。
((ニE/⌒ヾ∞"ヽ \____________
(こ) ∞ |こ)
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
く__∞,ノ
し' し'
0579nobodyさん
03/03/19 14:31ID:???容量の無駄ですし。
0580nobodyさん
03/03/19 14:31ID:???〃┏━━ 、
パタパタ | ノノソハ))) / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(((\リリ ´ー` リ < 了解です。
((ニE/⌒ヾ∞"ヽ \____________
 ̄し'し'  ̄
0581nobodyさん
03/03/19 14:31ID:???0582nobodyさん
03/03/19 14:32ID:???マトモ過ぎるレスが返ってきた・・
0583nobodyさん
03/03/19 14:32ID:???どこに通ってるかって?秘密だよ♪
あゆがわかる簡単な質問なら答えるよ。
0584nobodyさん
03/03/19 14:32ID:???0585nobodyさん
03/03/19 14:32ID:???0586nobodyさん
03/03/19 14:32ID:???0587nobodyさん
03/03/19 14:32ID:???〃┏━━ 、
パタパタ | ノノソハ))) / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(((\リリ ´ー` リ < 何でも聞くべし。
((ニE/⌒ヾ∞"ヽ \____________
 ̄し'し'  ̄
0588nobodyさん
03/03/19 14:33ID:???0589nobodyさん
03/03/19 14:33ID:???0590nobodyさん
03/03/19 14:33ID:???0591nobodyさん
03/03/19 14:33ID:???0592nobodyさん
03/03/19 14:34ID:???0593nobodyさん
03/03/19 14:34ID:???0594nobodyさん
03/03/19 14:34ID:???0595nobodyさん
03/03/19 14:34ID:???どうしてelsif,last,redoなんですか
0596nobodyさん
03/03/19 14:34ID:???〃┏━━ 、
| )
パタパタ | ノノソハ))) / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(((\リリ ´ー` リ < パクったんじゃなくて意識しただけだからだよ。
((ニE/⌒ヾ∞"ヽ 自分がこっちの方がいいと思ったら変更すればいい。
(こ) ∞ |こ) Perlは効率を優先した言語だからね。
く__∞,ノ else ifとするより2文字稼げる?
し' し' 多分コンパイルの時点で最適化されるのかな?
\____________
0597nobodyさん
03/03/19 14:35ID:???ttp://www.webk.co.jp/singer/image.jpg
0598nobodyさん
03/03/19 14:35ID:???オススメを一通り教えてホスイ マヂで
(逆でもOK、 :このテスト方法はこういうときに便利)
モジュールいろいろ豊富なのはイイんですが、
オレみたいなヘボーンPGはどれを選んで良いのか、
上手い答えがなかなか出せませんので、参考にさせてください
0599nobodyさん
03/03/19 14:35ID:???〃┏━━ 、
| )
パタパタ | ノノソハ))) / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(((\リリ ´ー` リ < 基本だけどテストケースをしっかり作ってホワイトボックステスト。
((ニE/⌒ヾ∞"ヽ 職業プログラマじゃないからあんまり詳しくないよ。うぐぅ。
(こ) ∞ |こ)
く__∞,ノ
し' し'
\____________
0600nobodyさん
03/03/19 14:35ID:???主に使われてるっつー割にPerlと違って(CGIの)専門書見かけないのはなんででしょ?
■ このスレッドは過去ログ倉庫に格納されています