月宮あゆのPerl教室 Part.4
■ このスレッドは過去ログ倉庫に格納されています
0001月宮あゆ
02/02/19 14:34ID:???〃┏━━ 、
パタパタ | ノノソハ))) / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(((\リリ ´ー` リ < うぐぅ♪
((ニE/⌒ヾ∞"ヽ \____________
(こ) ∞ |こ)
く__∞,ノ
し' し'
0462nobodyさん
03/01/17 01:33ID:???〃┏━━
( ) ( )
(.〆⌒ヽ )
(∴゚ρ゚∴) < いないよ>>461
( £ £ )
( £ゑ££ )
(££ゑ£)
|. ノノソハ)))
(\リリ ´ー`)リ
(ニE(#つo⊂#)
0463AIR ◆AIR/AeaCbM
03/01/17 22:12ID:???A_I_R_ノ V|
`''´
The days which are wrapped in the scene of summer and to pass gently
An encounter with the girls repeated in the sunlight
Summer continues to where as well
She is waiting in the air
__(/__
,.-'´ `ヽ
r'´ ゝ' `ヽ
{ "'' " ii}
li i i ii
_i_i i i i_リ'_
<___,.ニ=‐-‐- <__>;
. }/ \`ヽ. イ
/, , ' i i i 、 \ ヾ i {
/イ! i ! i i瓜_ト、_`丈_ヽヾ.K
/!、、、v'frj「 ; `'}rj`yi`.l \____
. ん'^iハ、ヾヽ´ ワ `゙ハ l !ト ノ´し'⌒`
l:::::::`ーi i`i::` .__, イi ii !il:::::::l
l:::::::::::,' .'/:::::::r‐w‐ヵ:、 ii i l::::::l
l:::::::; ' ム' ‐''`Y^r '` ‐- 、ヽ:::|
l::/,ィ´ベ ;゙†.! /∧ \
//::::|,' 〉、、 ,',' ゙、 /∧ ヽ、 ヽ、
//l::::::::/ { V/ 、 /〉,'./::::} ヾメ、 ゙ヽ、
/ / く::::く ゝ、::::\ /:::::::::ノ /l `ヽ ヽ
,' ,' \::`コ==} `' ::::::{==「::::::j } }
{ {,,. ‐,.ニ"-‐=ニレ'` ー--‐ァ''´\j::/ ノ ノ
ゝ. V´ _,,. ‐''" / ハ\ / /
0464nobodyさん
03/01/18 06:38ID:q6+JV5fJシロウトがでたらめばかり書くな。
0465nobodyさん
03/01/18 06:40ID:q6+JV5fJ月宮あゆ ◆XalkKQX1is ドシロート うせろ。
0466nobodyさん
03/01/18 16:34ID:???0467月宮あゆ ◆XalkKQX1is
03/01/19 07:34ID:???|. ノノソハ)))
(\リリ ´ー`)リ < ログファイル (2)
(ニE(#つo⊂#)
ログファイルをどんなフォーマットにするか考えたら、
違う形式で保存されてるんだから、
読みこむときにも工夫しないと読みこんでも変なデータになっちゃうよ。
それで、特定の文字で区切る split っていうのが用意されてるんだ。
● = split ◆, ★
スカラー変数 ★ を正規表現で指定した文字列 ◆ で区切って
配列の要素にして配列 ● に代入するよ。
★ を省略すると、 $_ に対して処理をするよ。
@data = split /<>/, $_;
と、
@data = split /<>/;
は、同じ意味だよ。
あと、こんな指定の仕方もできるんだ。
($name, $email, $date, $message, $host) = split /<>/;
これは 0 番目の要素が名前、ってわかってるなら、
スクリプトは $data[0] って書くより書きやすくなりそうだね。
じゃあ次回は、このへんをまとめて、掲示板に反映させてみるよ。
0468月宮あゆ ◆XalkKQX1is
03/01/19 07:36ID:???それもそうだね。
ボクもそれがいいと思うよ。
>>461
結構大変かもしれない。。
>>463
よくできたアスキーアートだね
AIRの観鈴さん、ってわかるよ
こんなの作れる人すごいなあ。。
0469劉邦
03/01/19 12:55ID:iJfTCNLl0470初期の頃胴の長いあゆ書いてた奴
03/01/19 13:00ID:???そうでもないよ。
いきなり全部覚えるのは無理だし使うものは限られているので
自分の使うものだけを取りあえず書きながら覚えていけばいいよ。
後は処理する文字列の特徴をよく把握することだね。
0471nobodyさん
03/01/19 13:08ID:???冬厨様はお帰りください。
>>469
正規表現で一冊の本になったりするから、奥は深いけど、
>>470さんの言うとおり、最初は使うのだけ覚えて、
あとは少しづつできる範囲を広げていけばいいじゃないかな。
0472nobodyさん
03/01/19 15:47ID:???0475月宮あゆ
03/01/20 09:13ID:???〃┏━━ 、
パタパタ | ノノソハ))) / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(((\リリ ´ー` リ < うぐぅ♪
((ニE/⌒ヾ∞"ヽ \____________
(こ) ∞ |こ)
| ∞,|
| ∞,| 復活
| ∞,|
| ∞,| 胴長あゆ
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
| ∞,|
く__∞,ノ
し' し'
0476nobodyさん
03/01/21 19:34ID:eVlnRoM0それは長すぎだろ。
0477nobodyさん
03/01/21 20:26ID:???〃┏━━ 、
パタパタ | ノノソハ))) / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(((\リリ ´ー` リ < 了解です。
((ニE/⌒ヾ∞"ヽ \____________
 ̄し'し'  ̄
0478nobodyさん
03/01/21 20:28ID:???それでも長すぎだろ。
0479月宮ぁゅ
03/01/21 20:40ID:???〃┏━━ 、
パタパタ | ノノソハ))) / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(((\リリ ´ー` リ < うぐぅ♪
((ニE/⌒ヾ∞"ヽ \____________
(こ) ∞ |こ)
| ∞,|
く__∞,ノ
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
ノ ノ ノ ノ
し' し'
0480 (((\リリ ´ー` リ < これでどう?
03/01/21 21:53ID:???0482nobodyさん
03/01/22 02:01ID:nskHLtl40483f
03/01/22 02:14ID:ZsLNgUOG◎浮気素行調査
彼氏、彼女、妻、夫の浮気を調査致します!!
◎盗聴器盗撮機発見
あなたの部屋に誰かが仕掛けているかも!!
◎行方調査
行方不明になっている家族の消息を調査致します!!
◎電話番号から住所割り出し
一般電話、携帯から住所を割り出し致します!!
◎ストーカー対策
社会問題ともなっているストーカーを撃退致します!!
その他人生相談からどんなお悩みでも解決いたします!!
24時間受付 090−8505−3086
URL http://www.h5.dion.ne.jp/~grobal/
メール [email protected]
グローバル探偵事務局
0484nobodyさん
03/01/22 04:10ID:???〃┏━━ 、
パタパタ | ノノソハ)))
(((\リリ ´ー` リ ←こいつが毒カレー女に見えてしかたがない
((ニE/⌒ヾ∞"ヽ
 ̄し'し'  ̄
0485nobodyさん
03/01/22 10:38ID:???・ウド鈴木
・毒カレー女
・もののけ姫歌ってた人
ほがにいねーがー?
0489nobodyさん
03/01/23 17:44ID:???0490nobodyさん
03/01/24 01:59ID:o0DPXSNm上げるなよ。冬厨来るだろうが。ヒキコモリモナ
0491490
03/01/24 02:09ID:???吊ってきます。スマソ
0492nobodyさん
03/01/24 22:18ID:???PHPでもこういうスレがあったらな…
0493(((\リリ ´ー` リ < 長うぐぅ♪
03/01/24 22:32ID:???最近はPHPマンセーだからご要望があれば答えるよ。うぐぅ。
0494nobodyさん
03/01/25 00:44ID:???0495nobodyさん
03/01/25 03:51ID:???「月宮あゆの.htaccess教室」とか「月宮あゆのRuby教室」とか「月宮あゆの万引講座」とか
乱立したらそれはそれで楽しそうなんだが月宮あゆの中の人も大変になりそうだな。
0496nobodyさん
03/01/25 12:36ID:???過去ログぼーっと見て、間違いに突っ込まれてないので指摘。
>>37
違う。
Cのif文 = if(条件)文 else 文
Cの文 = 単文の最後に;をつけたもの または 単文を;区切りで並べて{ }で囲んだもの
Perlのif文 = if(条件){単文を;区切りで並べた物}else{単文を;区切りで並べた物}
だから。
これにより、Cではelseの直後に文が来てもいいが、Perlでは { が来なければ行けないと分かる。
詳しくは
ttp://member.nifty.ne.jp/maebashi/programmer/c_yota/semicolon.html
0497(((\リリ ´ー` リ < うぐぅ♪
03/01/25 12:43ID:???>まいたけから来ますた。
・・・どこ?
0499マ板研をまいたけと呼ぶ会
03/01/25 12:52ID:???http://www.ktplan.net/teciai/
>>498 { }の有無を強調したかっただけ。
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:???【「中の人」終了のお知らせ】 利用者各位
平素は「中の人」をご利用頂きありがとうございます。
長らく皆様に御愛用頂きました「中の人」ですがその役目を
終えたと判断し、このたびサービス終了の運びとなりました。
現在新規サービスを計画中ですので今後とも宜しくお願い致します。
■ このスレッドは過去ログ倉庫に格納されています