【Perl】初心者コーナー Part12
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
02/04/27 23:17ID:1NNXdNspいらっしゃーい、Perlの「コーディング」で困ってる人のスレです。
1:自分はこう言う事がしたい。
2:それでこんな風にやってみたが・・・
3:それだとこんなエラーが出て上手く行かなかった。
1と3が無いと誰も答えられないよ、良い回答は良い質問から。
一緒に勉強しましょう。
CGIの質問は【CGIだけどなんか質問ある Pert 6 】
http://pc.2ch.net/test/read.cgi/php/1019561283/
参考書籍の話題は【【Perl,CGI】参考書籍 第2版 】
http://pc.2ch.net/test/read.cgi/php/988809842/
その他の雑多な話題は、【CGIに依存しないPerlの話題一般】
http://pc.2ch.net/test/read.cgi/php/991313362/
スクリプトの改造依頼は 【スクリプト改造工房 Part4 】
http://pc.2ch.net/test/read.cgi/php/1012839651/
過去ログ、その他の役立ち情報は>>2-10を見よう。
0952nobodyさん
02/05/28 01:32ID:???まずは正規表現の書き方から覚えよう。
if ($ENV{'HTTP_USER_AGENT'} ne ~ /DoCoMo/) {
だと
if ($ENV{'HTTP_USER_AGENT'} ne ($_ =~ /DoCoMo/) ) {
になるんじゃないかな?
まず一致する事はないね。
0953nobodyさん
02/05/28 01:48ID:???正規表現の書き方はおかしくねえだろ。おかしいのは、パターン
結合演算子の書き方。つか、キミ自身が正規表現とは何たるかを
勉強した方が良いとちゃう?
0954nobodyさん
02/05/28 01:56ID:???確かに色々間違ってた模様。
ありがとう。
ttp://a414s1.it.nanzan-u.ac.jp/textbook/text082100-2/node81.html
こんなの見つけて色々勉強になった。
漏れには結構基本的な部分が抜けてた模様。
0955nobodyさん
02/05/28 02:41ID:???そのリンク先のパターン結合演算子の説明おかしくないか?
俺の知らない、Perl得意の省略形かと一瞬思っっちまったが。
なんで=と!の単項やねん?もっと、まともなサイトを探すのが吉。
0956nobodyさん
02/05/28 03:16ID:???鵜呑みにするところだった…
グーグル様で検索して最初にひっかかった物だからつい…
0957!~ 使え!コゾウ
02/05/28 03:58ID:???if ( $ENV{'HTTP_USER_AGENT'} !~ /DoCoMo/ ) {
print "DoCoMo 逝ってヨシ!\n";
}
0958nobodyさん
02/05/28 08:36ID:???「名前・メルアド・URL・本文」以外に年齢とか趣味とかの
項目を追加したいと思います。どうすればいいのでしょうか?
テスト用のサンプルとしてKENTさんのASKA BBSを使ってます。
http://www.kent-web.com/bbs/sample/aska.cgi
0959nobodyさん
02/05/28 08:43ID:???ttp://pc.2ch.net/test/read.cgi/php/1012839651/
スクリプト改造工房 Part4
ここに行けばいい。
0960nobodyさん
02/05/28 09:05ID:5/swSF0dREADで読んできた文字列データ(50kくらい)に含まれる特定の文字列(複数個)を
検索しようとしているのですが、うまく行きません・・。
if(VALUE =~ /PATTERN/){
だと一度に1つしか検索できないし
while(VALUE =~ /PATTERN/){
だと同じ部分でmatchしつづけてします。。
0961nobodyさん
02/05/28 09:17ID:???検索した後どうしたいかにもよるが。
VALUE =~ /PATTERN/g;
0962960
02/05/28 09:41ID:???ありがとうござます。自分の持ってるperl初心者本に詳しく書いて無かった事もあり、
optionについて勉強不足でした。助かりました。
0963nobodyさん
02/05/28 09:59ID:???$str ne ~ /pattern/
これは
$str ne ($_ =~ /pattern/)
じゃなくて
$str ne ~ ($_ =~ /pattern/)
だろ。誰か気付けよ。
0964nobodyさん
02/05/28 17:29ID:???配列Aと配列Bがあったとします。
@A = (1,2,3,4)
@B = (a,b,c,d)
これを1-a 2-b 3-c 4-dと表記しようと思います。
foreach $X(@A){ print "$X";
foreach $Y(@B){ print "-$Y";
} }
この書き方だと、
1-a-b-c-d 2-a-b-c-d・・・と言うような結果になりますよね?
二つの配列の内容を同時に一回ずつ表記する方法はないものでしょうか?
0965nobodyさん
02/05/28 17:31ID:???よろしくお願いします。
0966nobodyさん
02/05/28 17:39ID:???print "$A[$i]-$B[$i] ";
}
これじゃダメなの?
0967だめぽ
02/05/28 18:04ID:NVFnKI0Cアクセス解析に今日と昨日のカウンタをつけたいです。
ログのフォーマット
アクセス通し番号<>日付<>IP<> ・・・
日付は 2002/05/28(火) 18:00 という書式です。
別にカウンタ用ファイルを用意すれば可能ですが、ログをひとつにまとめたいのです。
やろうとすると一日のとき前月の日付がいろいろ変わるのですごい大変でした。。
お願いします。m(_ _)m
0968nobodyさん
02/05/28 18:10ID:???前日の日付の求め方を聞きたいのかな?
それならlocaltime(time-24*3600);で出せばいいだけだけど。
でも、そんな事をするくらいなら、ログファイルの中に日付だけのデータを作った方が楽だと思う。
0969だめぽ
02/05/28 18:22ID:???ありがとうございます。
>localtime(time-24*3600);
これでできそうな感じがするので、やてみます。m(_ _)m
0970nobodyさん
02/05/28 21:56ID:???0971nobodyさん
02/05/28 22:53ID:IYnV1U6d0972nobodyさん
02/05/28 22:57ID:???if($a == int($a)){
0973(・v・)
02/05/29 03:55ID:???>>967 は 2002/05/28(火) 18:00 ←こんな書式の日時文字列を
time とかで返される様な値に変換したいのカナ?
at-works の access log のログファイルみたいだ…
俺、これ改造して普通に time 値が返すような値を
カキコするように改造したが…
0974811
02/05/29 19:35ID:???ウインドウのタイトルを取得したいんですが。
CGIじゃなくてローカルで使います。
0975nobodyさん
02/05/29 21:58ID:???bbb<>2
ccc<>3
これを
2番目の数が多い順にソートしたいんですが、
どうすればいいのでしょう?
0976nobodyさん
02/05/29 23:44ID:BqVeUZ/KWin::API
ここにちょっとだけ使い方が載ってました。
http://member.nifty.ne.jp/hippo2000/perltips/perllha.htm
>>975
Schwartzian Transform
http://www.din.or.jp/~ohzaki/perl.htm#SortST
で、質問なんですが、
tieの使い方がいまいち判らないのですが、
「こういう時に使うと効果的」というサンプルありましたら教えてください。
0977スレッドストッパー&rlo;止停
02/05/29 23:51ID:???適当に流しすぎ、、、。
0978976
02/05/29 23:52ID:BqVeUZ/K今はDB_File.pmを使う時にだけtieを使ってます。
例えばFETCHメソッドはtieで関連付けた変数から値を取り出す時に自動的に呼ばれる、
というのは判るんですが、それがどういう利点を持つのかが判りません。
0980nobodyさん
02/05/30 01:02ID:???利点って・・・FETCHとかSTOREがなかったらtieをつかえへんやん
例えばだけど、Tie::Fileってモジュールは配列をtieして、
ファイルの要素を配列の要素としてアクセスできるようにしてる。
my $this_is_the_first_line = $tied_file[ 0 ];
my $this_is_the_last_line = $tied_file[ $#tied_file ];
で、ここでFETCHがどう入ってくるかというと
1) 配列要素にアクセス
2) tieされているオブジェクトにFETCH()が呼ばれる
3) ファイルのn行目を読み込んで返す
という動作を行うわけ。だからインターフェースはあくまでも配列
なのに全然配列とは違う動きをさせられる。そういう時にtieを使う。
DB_Fileも同じ。本当はハッシュじゃないんだけどハッシュをアクセス
する時に裏側でフラットファイルデータベースのレコードにアクセスしてる
わけや。
0981nobodyさん
02/05/30 01:04ID:z8tD+2yUparlってナニ?
perlなら知ってるけど…
クソレスでスマソ(゚∀゚)!!!!
0982nobodyさん
02/05/30 02:14ID:9bTblmUwglobで返ってくるファイルのリストは、必ず順ソートされているものなのでしょうか?
ズブ初心者で申し訳ないす。
0984
02/05/30 04:15ID:rYtvxDASKeep-Alive: timeout=??
の??の部分はタイムアウトまでの秒数を表しているのは分かりますが、このタイム
をカウントし始めるのは何時なのでしょうか。ヘッダーを受け取った瞬間からなの
か、全てのデータを受信し終わった瞬間からなのか…ご教示お願いします。
0986984
02/05/30 04:32ID:rYtvxDAS「HTTP」でhttp://pc.2ch.net/php/subback.htmlを検索しても余り良さそうな
スレがありませんでした。そうなると、使っている人口が多くてWEBに関わってい
る人が多そうなPerlのスレ…しかも初心者コーナーでありPart12まで続いている
老舗なら…これは行ける!とそう踏んだのですが…。
0987nobodyさん
02/05/30 06:09ID:???まぁまぁ。単発スレ立てられるよりいいのでは?
どうせ、もう落ちる訳ですし
>>984
Content-lengthを踏まえて推察するに、ヘッダ受信終了時では?
もっとも、C・S共々対応していないと話しになりませんが(w
0988nobodyさん
02/05/30 06:36ID:???CGIだけど、なんか質問ある? part 6
http://pc.2ch.net/test/read.cgi/php/1019561283/
このスレでいいんじゃない?
0990nobodyさん
02/05/30 07:32ID:???http://pc.2ch.net/test/read.cgi/php/1021951436/
0991nobodyさん
02/05/30 10:46ID:???ドキュメント全部読んでからのはずだが、このくらい自分で実験しろよ。
ヘッダ書き出した後CGIをrefreshまで終了させなきゃ出来るだろ。
0993nobodyさん
02/05/30 13:01ID:???print "$E$\n";
では、やっぱり表示されませんでした。
何か良い方法ありませんか?
0994nobodyさん
02/05/30 13:13ID:???立ててみた
【Perl】初心者コーナー Part13
http://pc.2ch.net/test/read.cgi/php/1022731565/
>>993
CGIの質問はこちらへ
CGIだけど、なんか質問ある? part 6
http://pc.2ch.net/test/read.cgi/php/1019561283/
0996278
02/05/30 17:28ID:???$tag_regex_ = q{[^"'<>]*(?:"[^"]*"[^"'<>]*|'[^']*'[^"'<>]*)*(?:>|(?=<)|$(?!\n))};
$str = join '',
map { /^</ ? map { /["']$/ ? $_ : lc } split /(["'])(.*?\1)/s : $_ }
split /(<$tag_regex_)/o, $str;
0997nobodyさん
02/05/30 23:38ID:???0998nobodyさん
02/05/30 23:39ID:???0999nobodyさん
02/05/30 23:41ID:???1000nobodyさん
02/05/30 23:42ID:???∧ ∧ <1000です。
( ゚Д゚ ) \_____
 ̄ ̄Ψ ̄ (つ_つ_____
 ̄ ̄□∇ ̄\|オツカレサマ...| \
 ̄ ========= \
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。