Perlコーディング初心者質問スレ Part 52
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/09/15(金) 14:01:51ID:gobry0n2【投稿する際の注意】
質問するときは内容をよく吟味してから投稿してください。
「コマンドの意味がわかんない」とかはマニュアル見ましょう。
回答者さんは何でも屋じゃありません。
1: 自分はこういう事がしたい。
2: それでこんな風にやってみたが・・・
3: こんなエラーが出て上手く行かなかった。
最低でも1と3が無いと誰も答えられないよ。
ソース貼る時は、全角スペースでインデント忘れずに。
良い回答は良い質問から。一緒に勉強しましょう。
お勧めサイトは >>2-10
前スレ http://pc8.2ch.net/test/read.cgi/php/1153987463/
過去ログ倉庫 ttp://user.ftth100.com/mirrorhenkan/perl/
004733
2006/09/21(木) 11:50:02ID:???すみません、後学のためにBCCの恐怖をお教えいただけないでしょうか?
他に軽く出来る処理のヒントになるかもしれないですし。
004846
2006/09/21(木) 12:00:24ID:???BCCで送るつもりがCCになっててメルアド流出ってニュース聞いたことないですか?
「事故の元」って>>44が言ってるのもそういうことだと思いますよ
004933
2006/09/21(木) 12:04:51ID:???あー、そっちの意味ですか。
それは大丈夫です。
>>44は
>Bccで送るな。
と言ってますからBccで送ってはいけない、って意味なので違う事を危惧してくださっていると思います。
0050nobodyさん
2006/09/21(木) 12:23:58ID:???0051nobodyさん
2006/09/21(木) 12:24:45ID:???○
$test->printf("%c%c",0x1b,0x40);
これでは問題なく動いてくれるが、
ちょっとコマンドを長めに投入するとだめ。
原因はなんだろう
×
$test->printf("%c%c%c%c%c%c",0x1b,0x40,0x1f,0x03,0x1b,0x40);
005233
2006/09/21(木) 12:30:16ID:???お前>>48で46を名乗って「>>44が言ってるのも」と他人の振りをしてるのはなぜだ?
>>44=>>46=>>48=>>50
答えれねーならしゃしゃんじゃねーよクズが。
005346
2006/09/21(木) 12:34:25ID:xRtMaydf0055nobodyさん
2006/09/21(木) 12:50:01ID:rVJ008ap| | |/| ∧ | lllllllllll |
▲| schindler / | シュレッダー |雪| | パロマ | l| ̄ ̄ ̄|
▽| | //l . | |アイリス | |印| | O。O | ||___| アメリカ産牛肉
| |// │ | |オーヤマ|  ̄ `┬┬_´ ..||ε(;; ;)3|\ __
| /..│ | | __ ̄ ̄ ___ . / ┌┘/l . ||ε(;; ;)3|. || |#|イトーヨーカドー電気ストーブ
_|_/ │ | | |Mac ||_ |:|デル|:| lニニニl/ .||ε(;; ;)3|. || ~~~
. / . | | | /__/l|:.. : |ニニニ|.::.:.:.||.:..:::..::..:  ̄ ̄ ̄\|| _/ ̄ ̄\_三菱
./ . |0, | |::_||.::..:...||:..::.SH902iS::::.[PS2]::::: /\\ : | | . └-○--○- ┘
設計 | |/.::.↓>>52.:..::::./ヽ-、.:(PSP): .| \| ̄|=| |コ= /\\ : _/ ̄ ̄\_トヨタ
姉歯事務所| ./.::..:..:<⌒/ ヽ.::..:..:◎..:...::.. .| \| |: | | 松下| .| \| ̄| └-○--○- ┘
. |/.::..:..:..::::.<_/____/.::.: ソニーBMG:..\.|_|: | | FF式 . .| \| | ファイヤストンタイヤ
____ ___ _____ ________...\.|_|:サンヨー石油ファンヒーター
0056nobodyさん
2006/09/21(木) 13:03:19ID:???メールアドレスに改行仕込まれるとそれ以降のアドレスが駄々漏れになる。
sendmailの引数で指定すれば(シェルに解釈させないように注する)、その心配はまったく無くなる。
付録:
一行の長さの制限とか考えてないでしょ。
0057nobodyさん
2006/09/21(木) 13:43:19ID:???Sendmail の引数で指定するのは、一般的にはやっちゃいけない方法と言われてるね
リスクとしては、
OSインジェクション >>> メールアドレス漏洩 だし、
シェルに解釈されないようにする&RFC準拠のメルアドを全て使えるようにする手間 >>> 改行コードとカンマとスペースを排除する手間
シェルコマンドは色々あるからね。
まぁシェルコマンドを全部エスケープすればすむだけだとは思うけど。
0058nobodyさん
2006/09/21(木) 13:46:31ID:???スパムじゃないの?
0059nobodyさん
2006/09/21(木) 13:47:40ID:???>54
>55
おいおいいきなりID出して別人工作か。
もちっと頭使え。
0060nobodyさん
2006/09/21(木) 13:50:34ID:???メールマガジンで1万ってのは普通だろ
むしろ、スパムで「たった」1万通なわけないじゃん
スパムのアクション率なんて、0.00001% とかだぞ。
スパムするなら、最低500万通/日、業者なら1億通/日は送っているだろ。
0061nobodyさん
2006/09/21(木) 13:50:39ID:???また出た。
お前がツクリャ30人が関の山だろうが、俺の文章読みたさにがんがん登録があるってわけ。
貧相な想像力でねちねち言ってんじゃねーっつーの。
0062nobodyさん
2006/09/21(木) 14:22:11ID:xRtMaydf0063nobodyさん
2006/09/21(木) 14:22:18ID:???0064nobodyさん
2006/09/21(木) 16:30:17ID:???それぐらいで着火するようなら自分で考えて自分でやれ
ちょっと調べればいくらでも出てくるぞ
0065nobodyさん
2006/09/21(木) 19:39:32ID:???0066nobodyさん
2006/09/21(木) 20:13:30ID:???0067nobodyさん
2006/09/21(木) 21:46:53ID:???006833
2006/09/22(金) 06:53:12ID:???>>56
仰るとおり長さの制限に引っ掛かりました。
ヘッダーが32kb超えてる、みたいな感じのエラーが出たので、10件ほどでのテストでは判明しない問題でした。
>>38が提案してくださったようなプロセスの小分けの方向で模索してみます。
>>57
シェルコマンドをエスケープですか。
難しそうですが、勉強してみます。
006933
2006/09/22(金) 07:18:25ID:???1: 自分はこういう事がしたい。
1万件のメールアドレス(@配列にいれてあります)にメールを送信したい。
2: それでこんな風にやってみたが・・・
a.foreach構文で1万回sendmailをやってみた
b.全部を$mailに入れてBccとして送らせてみた
3: こんなエラーが出て上手く行かなかった。
a.実行時間が長すぎて、途中で切られた
b.ヘッダーが長すぎると言われた
ヘッダーを短くするには繰り返し構文を使うしか思いつきません。
>>38の案を模索してみたんですが、バックグラウンド処理、リダイレクトというのがさっぱりわからなかったです。
一回の処理を短く行う方法は御座いませんでしょうか?
お教えくださいますようお願いします。
007133
2006/09/22(金) 09:55:43ID:???@maill[0..99]←([]の中身は変数で変更可能)
で100回だけループするようにして、
htmlのリフレシュを使って、@mail[100..200]を処理する(getメソッドで数値を渡しておく)ようにして、
それが@mailの行数を超えるまでリフレシュさせまくる、というのは不安定でしょうか?
それか、100件ごとに
sleep 5;
などを入れて休憩させるといけるのか、とかも考えましたが、
これだと「一回の処理の時間の長さが50秒追加されるだけで余計長くなってる」ってことになるでしょうか?
100件ごとに一回の処理として扱われるなら最後までいけると思うんですが。
007338
2006/09/22(金) 10:13:02ID:???ふつう、1万件のメールをCGIプログラムでは送りません。タイムアウトするから。
ヘッダが長すぎるというのはあたりまえ。1行の長さが998文字以下と決まってるのです。
だから、やるなら、
Bcc: xxxxxx@xxxx.xx,
xxxxx@xxxx.xx,
yyyy@yyyy.yy,
のように、1つのヘッダ行が複数にまたぐ場合は、2行目以降は行頭に空白文字(スペースあるいはタブ)を置いて続けることができます。
このような仕様がいろいろあるので、メールクライアントを作りたかったら、RFCを読みましょう。
ttp://www.ietf.org/rfc/rfc2822.txt
ttp://www.puni.net/~mimori/rfc/rfc2822.txt(日本語訳)
プログラムで送ろうとせずに、eml形式のメールデータをローカルなperl環境で1万個作ってメーラーにインポートして一斉に送ってはいかが?
スパムを送られたら幇助しているようでいやなので詳しく書く気はないです。ごめんなさい。
0074nobodyさん
2006/09/22(金) 10:18:03ID:???もうこの時点で目的は何であれスパムだよな。
そうじゃないんだったらメルマガやメーリングリストでも使えばいいじゃん。
0075nobodyさん
2006/09/22(金) 10:20:42ID:???>>35と>>40
を書いた者だが、
もうおまえ去れ。
スパム業者でないという保証もないし。
これだけヒントもらってるんだから自分でやれよ。
0076nobodyさん
2006/09/22(金) 10:39:14ID:???そういうシステム使うと、その業者を儲けさせるだけ
やつらは、人様が苦労して作成したコンテンツに広告を載せて配信し、ぼろ儲けしている
007733
2006/09/22(金) 10:50:43ID:???> プログラムで送ろうとせずに、eml形式のメールデータをローカルなperl環境で1万個作ってメーラーにインポートして一斉に送ってはいかが?
ありがとうございます。
最終段階で送信プログラムを実行するんじゃなく、
<p><a href="mailto:foo\@bar.com?bcc=$mail&subject=$subject$body=$body">SUBMIT</a></p>
というHTMLを吐き出すことにしました。
>>74
>> 1万件のメールアドレス(@配列にいれてあります)にメールを送信したい。
> もうこの時点で目的は何であれスパムだよな。
配信希望者に送る場合もでもスパムというのでしょうか?
> そうじゃないんだったらメルマガやメーリングリストでも使えばいいじゃん。
そのメルマガのコーディングについての質問です。
>>75
いただいたヒントを参考に解決しました。
みなさま、本当に有難う御座いました。
0078nobodyさん
2006/09/22(金) 11:04:03ID:d6rNV+wj結局mailtoでBCCwwwww
Perl関係ないじゃんww
解決乙。もう来るなよ
>>75
>>73は33とは別の人ね。すげー親切で泣ける
008033
2006/09/22(金) 11:12:12ID:???> ID出して否定しないし33の名前は全部同一人物だろ
最初にIDを出していないので、否定しようと騒いでも余計に悪化すると思いまして。
お陰様で解決しました。
0081nobodyさん
2006/09/22(金) 11:13:44ID:???0082nobodyさん
2006/09/22(金) 11:56:21ID:???0083nobodyさん
2006/09/22(金) 12:14:06ID:???最近のperl使ってシェルを経由させずに起動すれば良いだけ。
> Sendmail の引数で指定するのは、一般的にはやっちゃいけない方法と言われてるね
無知をさらけ出されても困る。
0085nobodyさん
2006/09/22(金) 16:20:39ID:URN28btqa0=1&b0=1&a1=4&b1=2&a2=2&b2=2&・・・&an=8&bn=9
と"a".$i =数字と"b".$i=数字となっているものを
postgresql にperl でupdateしたいのですが、
for($i=0;$i < n; $i++){
$str ="update table set a=$html->param('\"a\".$i') where b=$html->param('\"b\".$i)";
$sth=$dbh->prepare($str);
$sth->execute();
}
こんな感じでupdateしたいのですが,試行錯誤の上に挫折中です。
うまい方法はないですか?
0086nobodyさん
2006/09/22(金) 16:31:12ID:d6rNV+wjをprintしてみたらどうでしょうかね
0087nobodyさん
2006/09/22(金) 16:38:47ID:???$strに何が代入されてるんですか?
0088nobodyさん
2006/09/22(金) 16:50:49ID:???どうみても $html は CGI のインスタンスだし、$str には SQL 文が代入されてるがな。(´・ω・)
文字列の中でメソッド呼び出しってできたっけ?
一旦 param の内容を変数に代入してから $str に埋め込んでみては?
0089nobodyさん
2006/09/22(金) 16:50:53ID:URN28btq>$html->param
は
$html=new CGI;
です。
>$str
にはpostgresqlに対するupdate のストリングが入って欲しいものです。
>>86
CGI=HASH(0x804c914)->param('"a".1')
となりました。
0090nobodyさん
2006/09/22(金) 16:56:20ID:???0091nobodyさん
2006/09/22(金) 16:58:49ID:???0093nobodyさん
2006/09/22(金) 17:03:18ID:???$strに何が代入されてるんですか?
確認しましたか?
0094nobodyさん
2006/09/22(金) 17:04:10ID:???0095nobodyさん
2006/09/22(金) 17:51:48ID:???$htmlってのは
use CGI;
my $html = new CGI;
したもんだと仮定しますた。それから、
$dbh は、DBI/DBD::Pgで接続したときのインスタンスと仮定しますた。んで、
まず、$html->param('\"a\".$i') ってのがおかしい。全体をシングルクォートしてしまうと$iは展開されません。
まあ、$html->param("a$i") だとします。
そんで、ダブルクォーテーションの中に $html->param("a$i") を入れちゃうと、
$html と ->param("a$i") とに分かれて解釈されちゃうので、外に出してください。
だけれど、せっかくprepare使うんなら
my $sth = $dbh->prepare("update table set a=? where b=?");
for ( $i=0; $i < n; $i++) {
$sth->execute($html->param("a$i"), $html->param("b$i"));
}
などとしてはいかがでしょうか?
※上記のソースで n が裸で出てくるのはおかしいです。use strictすれば教えてくれます。
※SQL-injectionのチェックはしてくださいね。
0096nobodyさん
2006/09/23(土) 06:00:23ID:08cXFZbBPHPだとhtmlspecialchars()というのが標準で備わっているんですけど、Perlでそれに相当するものは何になるんでしょうか。
(自分で書くのは簡単なんですけど、できればPerl標準のものがあればそれを使ったほうがいいかなと考えています。)
0097nobodyさん
2006/09/23(土) 06:57:54ID:???0099nobodyさん
2006/09/23(土) 08:34:56ID:???HTMLを使用するモジュールには大概あるから(CGI、TT、HTML::Templateなど)
あとは自前で用意するんじゃないかな
0100nobodyさん
2006/09/23(土) 08:39:51ID:???http://perldoc.jp/docs/modules/CGI.pm-2.89/CGI.pod#item__escaped_string___escapeHTML__unescaped_string___
0101nobodyさん
2006/09/23(土) 09:31:06ID:???010216
2006/09/23(土) 16:17:05ID:???http://www.atmarkit.co.jp/fsecurity/rensai/hoshino10/hoshino01.html
自分が書き込んでから数日以内のことなので、ひょっとしたらこのスレ見ててくれたのかな、と思ったりw
偶然かもしれないですけど・・・
もし、見ていてくれたのなら 杉山 さん、本当にありがとです。
0103nobodyさん
2006/09/23(土) 17:05:32ID:???0104nobodyさん
2006/09/23(土) 17:24:16ID:???> バイナリエディタで解析した " (ダブルクォート) の 16進表記は、"22" です。
> ここで、$hoge に バイナリレベルで "82" をいれてみるとどうなるかやってみました。(バイナリファイルを一般のテキストエディタで表示したときの、"・"(半角) と表示されるあれです。)
> それを出力して、IE と Firefox と Opera で表示したところ、 "82 22" で 1つの不正な文字 "・"(全角) として表示され、ダブルクォートが消えうせていました。
>>http://www.atmarkit.co.jp/fsecurity/rensai/hoshino10/hoshino02.html より引用
> 赤坂さんの入力には、「%82」という文字列が含まれている。
22 はダブルクォートだけど、82 はようするに22と組み合わされて1つの2バイト文字と扱われればいいわけで、82である必然性が無い。
参考リンクの、http://applesoup.googlepages.com/bypass_filter.txt にも 82 は出てこないからね
以上の理由により、杉山氏はこのスレを見ている可能性が高い
0105nobodyさん
2006/09/23(土) 17:43:34ID:???php なら、mb_convert_encoding($_GET{'hoge'},'SJIS','SJIS')) で対策できるみたいだね。
Perl の jcode.pl で同じことやったが、無理だったわ。
不正な文字列を変換してもそのままになっちゃうみたい。
Perlで対策するにはどうすればいいんだろうか・・・。
0108105
2006/09/23(土) 18:15:29ID:???の qr ってなんだろう。と調べてみました。
http://psst.jp/syn/archives/000199.html
つまり、>>29 は、「^([\n\x20-\x7e\xa1-\xdf]|[\x81-\x9f\xe0-\xfc][\x40-\x7e\x80-\xfc])*$」を、正規表現としてコンパイルしているわけですね。
実際に $GET_hoge の無効な文字列を削除するには、
$GET_hoge =~ s/$str//g
とすればいいわけですね。
ありがとうございます。
0109nobodyさん
2006/09/23(土) 18:23:40ID:???漏れの使っている Child Tree とかはもろ影響してるし
実はphpユーザなんでPerlのことよくわからないや(´・ω・`)
しかも自分で書いたスクリプトじゃないから修正が大変です><
本来出力時のエスケープがいいと思うのですが、、print 内の変数を全て書き換えるのは大変なので、
GET と POST として送られてきた全てのデータに >>29 の正規表現を適用させる方法は無いでしょうか
どうかお願いします
0110105
2006/09/23(土) 18:33:56ID:???> つまり、>>29 は、「^([\n\x20-\x7e\xa1-\xdf]|[\x81-\x9f\xe0-\xfc][\x40-\x7e\x80-\xfc])*$」を、正規表現としてコンパイルしているわけですね。
まではいいんですが、
> 実際に $GET_hoge の無効な文字列を削除するには、
> $GET_hoge =~ s/$str//g
は違ったようですね。
「^([\n\x20-\x7e\xa1-\xdf]|[\x81-\x9f\xe0-\xfc][\x40-\x7e\x80-\xfc])*$」は正しいパターンなので、
if ($GET_hoge !~ $str) {
&error("貴方が送信した文字列はShift_JISとしてValidではありません。");
}
みたいに使うってことだったようです。
0111nobodyさん
2006/09/23(土) 18:36:49ID:???0113nobodyさん
2006/09/23(土) 18:52:41ID:9+jKDZxZ0114nobodyさん
2006/09/23(土) 18:57:30ID:???最後の1バイトがゴミかどうか調べてみれば?
>>113
while(<DATA>){
${$1} = $2 if /^(\w+)=(.*)/;
}
print $aa;
__END__
aa=bb
0115nobodyさん
2006/09/23(土) 19:01:07ID:???"\n" は改行文字、"\x" はなんだか良く分からないけど、バイナリレベルで調査するって宣言かな
"\x20-\x7e" は、16進数の "20" から "7e" ってことか
2桁の16進数だから、
16^2 = 256 = 2^8 = 1バイト
つまり、この [] の1ブロックで、1バイトってことだね
1ブロック目、2ブロック目、3ブロック目全てが 1バイトのよう
これを括弧でかこって繰り返しにしている
あれ?
ってことは、3バイトの文字列で始まり、それが0回以上繰り返される?
例えば、ユーザ入力値が "ab" だったら不正扱い?
でも試してみたらそうならないし
う〜ん
0116nobodyさん
2006/09/23(土) 19:36:39ID:???>>110,115
その場合こう。
というかちょっと数行に分けて書き換えてみるからこれでわかって。
my $reg_alpha = qr/(?>[\t\r\n\x20-\x7e]+)/; # アルファベットの連続
my $reg_han_kana = qr/(?>[\xa1-\xdf]+)/; # 半角カナの連続
my $reg_multi = qr/(?>(?:[\x81-\x9f\xe0-\xfc][\x40-\x7e\x80-\xfc])+)/; # 2バイト文字の連続
$GET_hoge =~ s/^((?:$reg_alpha|$reg_multi|$reg_han_kana)*).*$/$1/;
テストはしてない。
0119nobodyさん
2006/09/23(土) 19:49:01ID:???全然違う…。
[¥n¥x20-¥x7e¥xa1-¥xdf]
が、ASCIIキャラクタとsjis半角カナ ... A
[¥x81-¥x9f¥xe0-¥xfc][¥x40-¥x7e¥x80-¥xfd]
がsjis2バイト文字 ... B
/^(A|B)*$/
だから、1バイト文字と2バイト文字で構成されている文字列にマッチする。
(sjisのみ対応)
正規表現の2バイト目の最後、0xfdまで文字あるから直しておいた。
0120nobodyさん
2006/09/23(土) 19:51:21ID:???(´・ω・)
$GET_hoge =~ s/^((?:$reg_alpha|$reg_multi|$reg_han_kana)*).*$/$1/os;
0121115
2006/09/23(土) 20:10:01ID:???ご親切にありがとうございます。
あとでそれぞれの修飾子の意味を調べながら解読してみようかと思います。
>>119
なるほど。
プロポーショナルフォントなせいで "|" を見落としていました。
そのせいで、3バイトを意味すると思って混乱していたようです。
誤解が解けてすっきりしました。
本当にありがとうございます。
「ASCIIキャラクタとsjis半角カナ」 と 「sjis2バイト文字」 では当たり前かもですが、1バイト目が重複することはありえないわけですから、
Shift_JIS の [?x81-?x9f?xe0-?xfc] で終わっているようなのは不正ですね。
# http://www.atmarkit.co.jp/fsecurity/rensai/hoshino10/hoshino02.html の
# [マルチバイト文字の1バイト目(0x82)] ってどういうことなんでしょう。
# "82" がマルチバイト文字の1バイト目ということは分かるんだけど、"0x" って・・・。
# マルチバイト文字の1バイト目が "82" であるということを、"0x82" と表記するって決まりがあるんだろうか。
0122115
2006/09/23(土) 20:10:35ID:???0123nobodyさん
2006/09/23(土) 20:21:34ID:???use Encode qw/encode decode/;
encode( 'sjis', decode( 'sjis', $q->param('query') ) );
0125nobodyさん
2006/09/23(土) 20:24:48ID:???http://search.cpan.org/~dankogai/Encode-2.18/Encode.pm#Handling_Malformed_Data
0126nobodyさん
2006/09/23(土) 20:43:33ID:???0128nobodyさん
2006/09/23(土) 21:39:59ID:???0129nobodyさん
2006/09/23(土) 21:49:51ID:???あーEncodeって半端なマルチバイトを落としてくれるのか知らなんだ
入力された文字コードのチェックするしコストにはならないよね
0130nobodyさん
2006/09/24(日) 00:58:20ID:???jcodeにはutfパッチのやつとかあるしさ
0132nobodyさん
2006/09/24(日) 01:15:21ID:???0133nobodyさん
2006/09/24(日) 01:27:45ID:???0134nobodyさん
2006/09/24(日) 04:38:21ID:???0135nobodyさん
2006/09/24(日) 04:47:31ID:???0136nobodyさん
2006/09/24(日) 05:19:33ID:???最近 perl の
my $this = shift or return;
$hoge ||= 'hogehoge';
$piyo &&= piyopiyo($piyo);
こういう書き方にエクスタシーを感じてきた。 if文いらないのステキすぎ。
=cut
0137nobodyさん
2006/09/24(日) 05:33:37ID:???ttp://www.din.or.jp/~ohzaki/perl.htm
0138nobodyさん
2006/09/24(日) 11:31:51ID:???String::Multibyteモジュールを使ってみるのも。
use String::Multibyte;
my $str = "イリーガル\x82";
my $sjis = String::Multibyte->new('ShiftJIS');
print $sjis->islegal($str) ? 'true' : 'false';
ttp://homepage1.nifty.com/nomenclator/perl/shiftjis.htm
も参考になる。
0139nobodyさん
2006/09/25(月) 00:34:54ID:wf+gGDeG0140nobodyさん
2006/09/25(月) 01:22:59ID:???>>1 ぐらい読め。
> 【投稿する際の注意】
> 質問するときは内容をよく吟味してから投稿してください。
> 「コマンドの意味がわかんない」とかはマニュアル見ましょう。
> 回答者さんは何でも屋じゃありません。
>
> 1: 自分はこういう事がしたい。
> 2: それでこんな風にやってみたが・・・
> 3: こんなエラーが出て上手く行かなかった。
0142nobodyさん
2006/09/27(水) 10:30:04ID:???※上記の内容について
最近の perl(perl5.8.8等)では,index 関数を使うよりも, /\Q$keyword\E/ という正規表現を使った方が速いようです.実行速度は perl のバージョンや実行環境,スクリプト等に影響されるため,必要に応じてベンチマークをとるのがよいでしょう.
って書かれてた。7月下旬に更新されたらしい。
数年越しでも書き換えなきゃいけない情報をちゃんと更新するのは偉いなあ・・・。ちょっと遅いけど、まあGJ!
0143nobodyさん
2006/09/27(水) 12:02:27ID:???0144nobodyさん
2006/09/27(水) 16:45:21ID:???0145nobodyさん
2006/09/27(水) 16:57:20ID:???/^pen(?: )?is$/ ⇒ 正規表現あり ⇒ 低速
C言語のstrcmp()に置き換えできるような場合、Perlでは/〜/を使う方が速い
…とどこかのサイトに書いてあったがURLを紛失してしまった
0146nobodyさん
2006/09/27(水) 17:13:22ID:???■ このスレッドは過去ログ倉庫に格納されています