トップページ⇒php
984コメント309KB

【Perl】初心者コーナーPart11

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん02/03/27 12:53ID:wAXxxOxP
 
いらっしゃーい、Perlの「コーディング」で困ってる人のスレです。

1:自分はこう言う事がしたい。
2:それでこんな風にやってみたが・・・
3:それだとこんなエラーが出て上手く行かなかった。

1と3が無いと誰も答えられないよ、良い回答は良い質問から。
一緒に勉強しましょう。

参考書籍はこちら【【Perl,CGI】参考書籍 第2版 】
http://pc.2ch.net/test/read.cgi/php/988809842/
CGIの質問はこちら【CGIだけどなんか質問ある Pert 5.01 】
http://pc.2ch.net/test/read.cgi/php/1015127347/l50
その他の雑多な話題は、【CGIに依存しないPerlの話題一般】
http://pc.2ch.net/test/read.cgi/php/991313362/

過去ログ、その他の役立ち情報は>>2-10を見よう。
0258nobodyさん02/04/06 22:25ID:???
248さん、自分のパソコンにPerlは入ってないの?いくじなし。
0259nobodyさん02/04/06 22:45ID:b9SW2YHj
ファイルを読み込んで、各行の空白で区切った個数を調べたいと思っています。
----test.txt-----
ABC DEF GHI
ABCDEFGHI JKL
AB CD EF GH
-----------------
だと
3
2
4
と表示したいのです。

私が作ってみたのが
open(IN,"test.txt");
@data = <IN>;
my @kazu = split(/\s/,$_);
print scalar @kazu
close(IN);
なのですが上手く動きません。

上記動作をするにはどうすればよろしいでしょうか?
お教え願えないでしょうか。
026025902/04/06 22:46ID:b9SW2YHj
>>259
print scalar @kazu;
でした。; が抜けてました。
でも 考えているようには動きません。
0261nobodyさん02/04/06 22:51ID:???
>>259
オマエ$_とか<IO>の意味わかってないだろ。
今回は教えてやるから、何か一つマトモな本を読む(そして理解する)ことをおすすめするぞ。


open IN, "test.txt";
print scalar(split), "\n" while <IN>
close IN;
0262nobodyさん02/04/06 22:52ID:???
>>261
イタイソースですね。
026325902/04/06 22:52ID:b9SW2YHj
>>259
事故レすですみません。
出来てしまいました。

open(IN,"test.txt");
@data = <IN>;
foreach(@data){
my @kazu = split(/\s/,$_);
print scalar @kazu;
}
close(IN);
でしたね。すみません。

026426102/04/06 22:54ID:???
ごめんなさい。偉そうなこといって置きならが<IN>の後ろに";"が抜けてました。鬱だし脳。
>>262 仰るとおり。 逝って来ます。
026525902/04/06 22:54ID:b9SW2YHj
>>261
ありがとうございます。
ただいま勉強中です。
0266nobodyさん02/04/06 22:56ID:???
>>259
open(IN,"test.txt");
while(<IN>){
  split(/ /,$_);
  print "$#_\n";
}
close(IN);

これでどうかしら?
026726602/04/06 22:58ID:???
あ、すげー進みが速い
026826102/04/06 23:00ID:???
>>266
それは本来望む値より1少ない上に@_を破壊してしまうのであまりよろしくないのでは。
0269nobodyさん02/04/06 23:00ID:???
アイタタタタ…名前消し忘れた(鬱
027025902/04/06 23:01ID:b9SW2YHj
>>261
<IO>とは何の事でしょうか?
Input,Outputでしょうか。

$_ は STDINファイルハンドルから読み取ったものを、
変数で指定しなかった場合に、戻り値を自動的に代入する変数という事でOKでしょうか?

良かったらお教え下さい。
027126602/04/06 23:01ID:???
>>268
あ。
ごもっとも。
全然ダメでした(笑
0272nobodyさん02/04/06 23:19ID:???
>>270
IOがInput/Outputってのはよしだが、
ここでは"IO"ってのは"X"と同じく、「何らかのファイルハンドル」って意味で使った。
で、俺が言いたかったのは<>(ヤマカッコ演算子)のこと。
<IO>でファイルハンドル"IO"から一行または全行読み込み、
whileなどの中ではデフォルトの代入先として$_が使われる、と。
試しに
<IO>;
とだけしても$_にはなにも読み込まれない。

で、$_ってのは幾つかの演算子/関数においてのデフォルトの使用変数。
>>261で示した"scalar(split)"のsplitの第二引数も$_なのでこんなこともできる。
(ちなみにデフォルトの第一引数は' 'だ。)

つーようなことが>>259のコードを見て理解しているとは思えなかったわけだ。
そんだけ。もう寝る。
0273nobodyさん02/04/06 23:28ID:???
そうか、ヤマカッコって読めば良かったのか。
今まで、「不等号の記号」とか言ってて、わずらわしかったんだよな・・・
0274nobodyさん02/04/06 23:30ID:???
> 不等号の記号
それくらいなら「小なり大なり」と家YO!
027525902/04/06 23:34ID:b9SW2YHj
>>272
おっしゃるとおりで、理解できていません。
これから勉強します。
丁寧なご説明有り難う御座いました。

0276nobodyさん02/04/06 23:48ID:cii4pUwI
SSIの呼び出しって、相対パスじゃないと動かないんでしょうか?
絶対パスで書くとエラーが出ます。

例えば
<!--#exec cgi="../a.cgi"-->
ならOKですけど絶対パスで
<!--#exec cgi="www/usr/a.cgi"-->
だとエラー出ます。(↑の絶対パスは例)

絶対パスは間違ってないはずなんですが。
それとも間違ってるからエラーなんでしょうか。
0277nobodyさん02/04/06 23:52ID:???
>>276
例に間違い。

www/usr/a.cgi

死ぬほど相対パスです。これ。
0278nobodyさん02/04/06 23:58ID:???
素朴な疑問ですが、

$new = time();
($sec, $min, $hour, $day, $mon, $year) = localtime($new);

とした、$monは+1しないといけないのに、
$dayはそのままでもいいんですか。
そういう仕様にした理由ってなんでしょ。
0279nobodyさん02/04/06 23:58ID:cii4pUwI
>>277
いや、だから例、って念を押してるじゃん・・
例が思いつかなかったからそう書いたんだけど
/home/aaa/public_html/a.cgi
これって絶対パスですよね?こういう指定をやってもエラー出る。
http://www.aaa.com/a.cgiでもエラー。
0280nobodyさん02/04/06 23:59ID:rWktCpba
/home/aaa/public_html/a.cgi

相対パス
0281nobodyさん02/04/07 00:00ID:???
>>280
(゚Д゚)ハァ?
知ったかやめれ。
0282nobodyさん02/04/07 00:01ID:???
知ったかぶりも常駐するようになったか。このスレ。
0283nobodyさん02/04/07 00:03ID:???
>>276
絶対パスは使えないことがある。詳しくはここ参照。
http://tohoho.wakusei.ne.jp/wwwssi.htm

>>277>>280
真性か?
0284nobodyさん02/04/07 00:04ID:D+FXhcqD
知ったかマンセー
0285nobodyさん02/04/07 00:57ID:???
>>278
('Jan','Feb','Mar')[$mon]
みたいに使え
0286nobodyさん02/04/07 00:58ID:???
>>278
それは日が1から始るなら月も1からにせんかい!
ってことなんだろうけど、月の表記は日本のように数的でなく
Januaryなどのように文字で表すのが一般的だからじゃない?
日は1st, 2ndって数での記述が普通だからそれに合わせたんでしょ、おそらく。
0287nobodyさん02/04/07 03:14ID:???
>286
違う、知ったかカコワルイ
0288nobodyさん02/04/07 03:29ID:???
>>287
なら理由かけよ。うぜえ。
028927802/04/07 05:18ID:???
>>286氏のレスに納得!・・・・したかったけど、違うのか・・・。
>>287氏、教えてください。どして?
0290nobodyさん02/04/07 07:03ID:???
モジュールについてなんだけど、
Perlのモジュールって、ネイティブコードで動くの?
ようするに、早いの?

なんか/usr/lib/perl5/に
ごちゃっといっぱい入ってるんだけど、
皆、?,pmとか、?.plなんだよね、これって普通のソースだよね、
単に、requireでファイルをインクルード
してるのと、変わらないのかしら?
どうなの?
0291k02/04/07 07:48ID:1Y8RzvgS
joyful noteって画像掲示板使ってるんですが、
「返信」とか「次の1件」とかのボタンをボタンじゃなくて
画像にしたい場合はどうすればいいですか?
0292nobodyさん02/04/07 08:10ID:???
第一に、その掲示板を知らないと誰も答えられない。
第二に、それを知らなくてもできる方法はあるがperlは関係ない。
掲示板の作者に聞くか、ウェブ制作板のjavascript関係のスレで質問しましょう。
0293nobodyさん02/04/07 08:46ID:???
>>290 useとrequireの違いから勉強してください。
0294nobodyさん02/04/07 10:02ID:l6zqVn0k
>>294
http://tohoho.wakusei.ne.jp/html/input.htm
0295nobodyさん02/04/07 10:12ID:???
>>294
噂の再帰処理ですか。
0296nobodyさん02/04/07 12:15ID:???
>>278 287じゃないが。
答えはstruct tmの中。
tm_monが例外なのではなく、tm_mdayが例外。
029729202/04/07 12:36ID:???
>294
再帰ックなレスだな。
なるほど..画像といったらアンカータグかと..。
まあ「ボタンじゃなくて..」っていう>>291は画像貼り付けたボタンもNGかもね。
0298nobodyさん02/04/07 12:50ID:KHtC3gVA
掲示板で、Proxy規制機能をつけようと思っています。
今は正規表現でホストにproxy ns cacheを含むリモートホストを弾くようにしているのですが
他に追加すべき単語はあるでしょうか?

海外の匿名串は弾けなさそう・・・
0299nobodyさん02/04/07 12:52ID:???
>>298
2ch式にプロキシサーバにアクセスしてみるって方がいいかもね。
030029802/04/07 13:55ID:KHtC3gVA
>>299
それも考えたんだけどポートスキャンしないとダメだから
大掛かりなスクリプトを組まないとだめだろうなぁ。
cookieを併用してみるのも考えてみます。

ありがとうございます。
0301 02/04/07 15:23ID:V4vspG98
正規表現で
ある変数のなかのメッセージから改行コードをマッチングさせて
改行が特定の数になったらそれ以降を切り捨てるやりかたをおしえてください
0302nobodyさん02/04/07 15:53ID:???
$n = 特定の数;

$message =~ s/\n{$n,}//g;
0303nobodyさん02/04/07 15:55ID:???
$str =~ s/((?:[^\n]*\n){3})[\w\W]*/$1/;
改行3個目以降切り捨て。
多分最適化の余地あり。
0304nobodyさん02/04/07 17:54ID:???
>>301
$str = ($str =~ /^((?:.*\n){$limit})/ ? $1 : $str);
303氏のよりも少しだけ速い
0305 02/04/07 19:04ID:V4vspG98
>>302-304
ありがとうございます
0306nobodyさん02/04/07 19:08ID:???
<>←→<>の変換をしたいのですが、
$value =~ s/</</g;
$value =~ s/>/>/g;
$value =~ s/</</g;
$value =~ s/>/>/g;
これだと全部<>になってしまいますよね?
なんかいい方法はないでしょうか?

具体的には <<<<>><を <<<<>>< みたいな感じにしたいのですけれど。。
いろいろ探したのですが見つかりませんでした。。
0307nobodyさん02/04/07 19:20ID:???
>306
&は&amp;と書くか全角で&と書くかしてくれ
0308nobodyさん02/04/07 19:53ID:???
スカラー値で扱える最大値しりたいんだけど、
Cのlimit.hの
$_ = INT_MAX - 1 ;
みたいな事したいのだ!
0309nobodyさん02/04/07 20:46ID:???
多分LONG_MAX あたりじゃないの?

0310 02/04/07 20:59ID:V4vspG98
>>303の方に教えていただいたのはうまくいったんですが
>>304の方のほうがうまくいきません。
私のせいかもしれませんがどこがわるいのかわからないです・・・
0311nobodyさん02/04/07 21:00ID:mbQ4bo4F
こんばんは。
データファイル内のあるデータと一致する行だけを消す方法で
定番のやり方はあるのでしょうか?
ファイルを全部読み込んで、リストにして一致する行以外を
別のリストに作成して、書き込む方法では力づくっぽい気がしまして・・
ご教授よろしくお願いします。

0312nobodyさん02/04/07 21:18ID:???
>310
改行数の設定はちゃんとしてる?
my $limit = 3;
0313nobodyさん02/04/07 21:39ID:???
>311
ファイルを1行ずつ読み、あるデータと一致しない行を
適当なファイルに書き出していく。
そのファイルを元ファイルと置き換える。

ってのが定番でないかな。最適かどうかは知らんけど。
0314 02/04/07 21:42ID:V4vspG98
>>312
はい、というか直接数字いれました・・・
0315nobodyさん02/04/07 22:04ID:???
>314
じゃあヽ( ´ー`)ノワガンネース。漏れのところではきっちり動くんだけどなあ。
perl -w とか use strict; とかしたらエラーは出る?
0316やさしいお兄さん02/04/07 22:53ID:???
>314
どうやらこの板は初心者ばかりのようだからわたしがこたえておきましょう。
一応、複数環境(OS)対応版をつくってみました。まちがってたらツッコメや!

my( $nl      )= "\x0d?\x0a|\x0d"; # 複数環境用改行パターンテンプレート
my( @lim    )= (0, 3);  # 繰り返し回数設定
my( $set    );           # 取り出し文字列セット用

;# パターンをセットする
($set)= /^((?:(?:(?!$nl).)*(?:$nl)?){$lim[$[],$lim[$[+1]})/o;
0317やさしいお兄さん02/04/07 23:06ID:???
>311, 313
痛々しくてみてなれないネー!
なぜハッシュをつかわないのか? こういうときのためのハッシュだと必ず本には書いてある
はずだが、まだ理解できてないようだな!
0318nobodyさん02/04/07 23:09ID:???
>>316
一応煽ってあげよう。
この板は初心者ばかりとか言っておきながら間違ってたらツッコメってどーゆーことだ。
この板の連中よりも上級者なら自分で考えろ。

で、 >>314は303方式で出来てるならそれでいいmでは?
304の方が確かにちょっと速いだろうけど、316は303よりも遅そうだし。
こんなところで引っかかるよりも、作りたいものを完成させるのが先だと思う。
0319nobodyさん02/04/07 23:09ID:???
>>317
本来の使い方ではないがな。
0320nobodyさん02/04/07 23:10ID:???
>>317
>こういうときのためのハッシュだ

こんなアグレッシブな文体の本はクソに決まっています。
0321nobodyさん02/04/07 23:35ID:???
>>317
ハァ?
0322nobodyさん02/04/07 23:41ID:???
中々面白い奴が来たな。
0323やさしいお兄さん02/04/07 23:49ID:???
>318
わたしが書いたほうが、約1.5倍速でした。318君は、目測でわたしが書いたほうが遅そうだと
書きましたが、どう見てもわたしが書いたほうがはやそうだったからベンチとってやったよ!
わたしが書いたほうは先頭からのマッチ部分までのみの取り出しなのに対し、303君のは先頭から
末尾までのパターンを確認する処理と括弧内にマッチした部分への置換というまわりくどい処理を
していることから考えて、どう見てもわたしが書いたほうが速いし、それに付け加えて複数OSにも
対応しているということだ。

Benchmark: timing 10000 iterations of 303, 316...
     303: 0 wallclock secs ( 0.66 usr + 0.00 sys = 0.66 CPU)
     316: 1 wallclock secs ( 0.38 usr + 0.00 sys = 0.38 CPU)
0324nobodyさん02/04/07 23:49ID:???
>>308
perlのスカラーはintじゃないという罠を踏まえたうえで、
とりあえず概算でいいなら、こんなんで。
$i = 1;
print $i*=10,"\n" while $i ne Inf;
0325(・∀・)イイ!02/04/07 23:49ID:???
春本番の時は寂しかったけど、今になってたくさん出てきましたね。
とかく月曜日は閑散となりがちなので、明日も気合いを入れてがんがろう!
0326nobodyさん02/04/08 01:20ID:6SHXOq5L
>>323
たまに
  Benchmark: timing 10000 iterations of 303, 316...
   303: 0 wallclock secs ( 0.66 usr + 0.00 sys = 0.66 CPU)
  316: 1 wallclock secs ( 0.38 usr + 0.00 sys = 0.38 CPU)
って見るんだけど、これってどうやって取るの?
方法知りたいです。
0327nobodyさん02/04/08 01:46ID:???
>>326
ストップウォッチ
0328nobodyさん02/04/08 01:49ID:???
>>314
あ、文字列の最後が改行じゃなかった場合にマッチしなかったのね。これでいいかな?
($str) = $str =~ /^((?:.*(?:\n|\z)){0,$limit})/;

Perl神の>>316氏にもプレゼント。
($str) = $str =~ /^((?:[^\x0D\x0A]*(?:\x0D\x0A|[\x0D\x0A]|\z)){0,$limit})/;

Benchmark: timing 100000 iterations of 316, ore...
  316: 3 wallclock secs ( 3.96 usr + 0.00 sys = 3.96 CPU) @ 25278.06/s (n=100000)
  ore: 2 wallclock secs ( 1.65 usr + 0.00 sys = 1.65 CPU) @ 60532.69/s (n=100000)

>326
ストップウォッチ
0329nobodyさん02/04/08 01:50ID:???
・゚・(ノД`)・゚・。ストプヲチ コワレタヨー
http://www.perldoc.com/perl5.6.1/lib/Benchmark.html
0330 02/04/08 15:23ID:cplvHQS4
>>328
ありがとうございます。
もう正規表現わけわからんので正規表現だけの本購入しました。
PERLリファレンス系だと細かく書いてないので
正規表現奥が深いですね
0331nobodyさん02/04/08 18:22ID:???
>>330
人が書いた正規表現は、まさに「魔法の呪文」みたいなもんで、
使ってみれば確かに効果は出るんだけど、それがどういう理屈で
そうなるのか解読するのは骨が折れるんだよね。
0332nobodyさん02/04/08 21:40ID:dY0mSfL0
やっと、カーネル・サンダースの呪いの期限が切れた。
阪神は本来、神のチーム。
これくらいのゲームができて当たり前。
1938年に開幕7連勝した時に阪神は優勝した。
今年も9割方優勝する。
阪神電鉄の株価もウナギ昇りだ。
優勝すれば経済効果も核爆弾級だろう。
現在、阪神ファンの脳内モルヒネ分泌量は最高だ。
仕事にも遊びにもハリが出る。
阪神ファンが勝ち味に飢えていたが故に。
カーネル・サンダースは俺たち阪神ファンに17年間の試練を与えた。
今はそのことに感謝したい。
昼食時には是非ともKFCを利用したいと思っている。
0333nobodyさん02/04/08 23:00ID:9Gr66QZ9
KENTのYYBBSについてなんですが、
表を細く平面的にしたいんですけど、
(こんな感じ→ttp://www2.pure.cc/~cle/yy-bbs/yybbs.cgi)
どこをどういじれば良いかさっぱりです。
誰かお願い。
0334nobodyさん02/04/08 23:09ID:???
>>333
消えろ。スレ違いだ。
0335nobodyさん02/04/09 00:44ID:???
tu-ka,板違い。
Web製作板でスタイルシートのスレ探しに行け。
0336nobodyさん02/04/09 03:59ID:???
>>334 335
うるせーんだよヴォケが!!!!!!!!!!
0337nobodyさん02/04/09 05:56ID:???
>>336

>うるせーんだよヴォケが!!!!!!!!!!

この感嘆符の多さが、いい怒りの表現だね、
033830602/04/09 06:08ID:???
>307
すいません。えっと、
< &lt; < > &gt; < を &lt; < &lt; &gt; > &lt;
みたいに&lt;&gt;←→<>の相互変換をしたいのです。。
0339nobodyさん02/04/09 06:49ID:N8wWg1s7
すいません、リストの取り出しについてなんですが
@list = (A,B,C,D,E,F);
ってのがあって
EとFだけ取り出して別の配列に入れたい
場合ってのはどうやってやればいいんでしょうか
0340やさしいお兄さん02/04/09 06:50ID:???
>338
これでどう?

%conv= ('<' => '&lt;',
        '>' => '&gt;',
        '&lt;' => '<',
        '&gt;' => '>');
$_= '< &lt; < > &gt; <';

s/<|>|&(?:l|g)t;/$conv{$&}/g;
print;
0341nobodyさん02/04/09 06:55ID:???
>>340
やさしいお兄さん優しいですね。端から見ていてうっとりしました。
今度デートして下さい。やっぱいいです。
0342やさしいお兄さん02/04/09 06:58ID:???
>339
これでどう?

@list= qw(A B C D E F);
push(@new, splice(@list, $#list- 1, 2));
0343やさしいお兄さん02/04/09 07:16ID:???
>340
やっぱりすなおに以下のようにしたほうが速いかな?

s/<|>|&[lg]t;/$conv{$&}/g;
034433902/04/09 07:21ID:???
>>342
ありがとう
0345nobodyさん02/04/09 07:34ID:???
>340
$&は危険
s/([<>]|&[lg]t;)/$conv{$1}/g;

>342
負数のほうが簡潔
push @new, splice(@list, -2, 2);
0346やさしいお兄さん02/04/09 07:37ID:???
気になって、一応ベンチとってみました。意外な結果が...
できるだけループ数を多くして3回とってみたらいずれも340のほうが速かったです。
つまり、[lg] よりも (?:l|g) のほうが速いという結果でした。

Benchmark: timing 100000 iterations of 340, 343...
     340: 12 wallclock secs (11.21 usr + 0.00 sys = 11.21 CPU)
     343: 12 wallclock secs (11.43 usr + 0.00 sys = 11.43 CPU)
0347nobodyさん02/04/09 07:48ID:???
[lg]と(?:l|g)の比較なんかよりも、$&を使う罪に気付けよ。
まだ間に合うから、修行しなさい。
0348nobodyさん02/04/09 07:59ID:???
>>346
そのベンチ結果だと誤差の範囲だな。
0349やさしいお兄さん02/04/09 08:10ID:???
>348
でも以外でしょ?
0350nobodyさん02/04/09 09:46ID:???
スライスじゃダメなのか。
@new = @list[ 4, 5 ];
0351nobodyさん02/04/09 10:34ID:???
元の配列を 変えたい/変えたくない で決まるね
0352nobodyさん02/04/09 10:44ID:???
すみません。いきなりの質問です。

Perlソースのテンプレートが欲しいのです。
ラマとラクダがまだ家に来てくれないので欲しいのです。

第一引数でフォルダを指定して、
そのフォルダ下にある全ファイルを読み込んで処理する
テンプレが欲しいのです。

ファイル処理をする関数名はdo_file
で、そこは私が作るんで。テンプレおねがいします。
0353☆02/04/09 10:51ID:???
バナーをクリックした時に$datatext(テキストファイル)の中の
そのバナーのカウントが1プラスされるようにしたいんですが、うまくいきません。
以下の構文でどこか間違っている個所があれば教えて頂きたいのですが、、
ちなみにQUERY_STRINGと$read_data[1]はリンク先URLです。

#バナーをクリックした時
if($ENV{'QUERY_STRING'} eq "$read_data[1]")
{
open (DATA,$datatext);
@data = undef;
@read_data =();
@data = <DATA>;
close DATA;
for($i = 0;$data[$i];$i++)
{
@read_data = split(/\t/,$data[$i]);
$read_data[4]++; #4列目はリンクカウント数
$lastdata[$i] = "$read_data[0]"."\t"."$read_data[1]"."\t"."$read_data[2]"."\n";
}

open(WRITE,">$datatext");
print WRITE "@lastdata";
close WRITE;
print "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"0;URL=$ENV{'QUERY_STRING'}\">\n";
exit;
}
0354nobodyさん02/04/09 10:52ID:???
>352
キミは最初に質問と言っておきながら、いつの間にかクレクレ君に大変身ですか?
0355☆02/04/09 10:56ID:???
353です。

あ、すいません。構文間違えました
#4列目はリンクカウント数とかかれている部分、

$read_data[2]++;

で、2列目の間違いです。
035635202/04/09 11:07ID:???
>>354
<>とか、きっとそういうのを使うとは思うんですが…
どうかおねがいします。教えてください。
ペコリm(_ _)m o0(いつのまにか…というより、もとよりそのつもりでしたが何か?
)
0357やさしいお兄さん02/04/09 11:19ID:???
>355
これでどうでしょうか?動作確認はしておりませんが...

if ( $ENV{'QUERY_STRING'} eq $read_data[1] ){
    open(DATA, $datatext);
    while (<DATA>){
        @read_data = split(/\t/);
        $read_data[2]++;
        push(@lastdata, join("\t", @read_data)."\n");
    }
    close DATA;
    open(WRITE,">$datatext");
    print WRITE @lastdata;
    close WRITE;
    print qq(<META HTTP-EQUIV="Refresh" CONTENT="0;URL=$ENV{'QUERY_STRING'}">\n);
    exit;
}
0358nobodyさん02/04/09 11:27ID:???
>356
最初に質問というのなら、具体的にどこの記述でいきづまっているのか、
具体的なコードを明示すべきだろ。
それもしないでおきながら調子のいいこと言って自分を正当化すんじゃねーよ!
■ このスレッドは過去ログ倉庫に格納されています