トップページ⇒php
1001コメント346KB

【Perl】初心者コーナー Part16

■ このスレッドは過去ログ倉庫に格納されています
00013PIO ◆3pIoOHKo 02/09/15 15:11ID:???
いらっしゃーい、Perlの「コーディング」で困ってる人のスレです。

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

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

CGIだけど、なんか質問ある? Part 6 (その2)
http://pc.2ch.net/test/read.cgi/php/1025930486/
参考書籍の話題は【【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あたりを見よう。
0583nobodyさん02/10/02 13:18ID:???
>>582
sprintf使う気マンマンならなんも問題はないんじゃ。。
ちなみに月は$mon+1じゃなきゃずれるんじゃなかったっけか
0584578 , 58202/10/02 13:40ID:6nY1Hcfp
>>583
お、忘れてた。サンクス。
0585nobodyさん02/10/02 15:15ID:JLnBuPbJ
質問フォーマット

1:RS-232Cに繋がったモデムに、ATコマンドを送ってリザルトを受け取りたい
2:googleを「perl RS-232C」で調べてみた
3:そうした事例がでて来ない

perlを使って、RS-232C通信は出来ないでしょうか?
簡単なATコマンドを送って、結果を見るだけなのですが、minicomで手打ち
は面倒くさいので、自動化したいのです。

でも、googleで事例が出ないので、もしかして、perlではRS-232C制御は
出来ないのでしょうか?

もし可能なら、組み込む必要のあるpmや、スクリプト例など教えてください。

環境は、RedHat Linux 7.3
perlのバージョンは、5.6.1です。
0586nobodyさん02/10/02 15:27ID:???
?
ATコマンド打つにはpppdがいるだろ
Perlだけじゃむりだ
058758502/10/02 15:39ID:JLnBuPbJ
>>586

pppdというのと組み合わせるんですか?
今は、minicom -s から手打ちして、結果を見ています。

出来たら、自動でAT打って、返ってきた結果でif分岐して、おかしいときだけ
メールとかで知らせるという風にしたいんですよね。

まず、pppdというのをgoogleしに行って来ます。

何か過不足あったら、教えてください。
0588nobodyさん02/10/02 16:24ID:???
>>587
Linuxなら入ってるはずだよ。
0589578 , 58202/10/02 17:30ID:6nY1Hcfp
さらに質問させて下さい。

\$scalar とか \%hash とか、リファレンス参照ですよね

時々見る *scalar とかは一体何者なんでしょうか

おそらくリファレンスと同じようなもんだと思うんですが
いまいち挙動がつかめません。
059058502/10/02 17:37ID:JLnBuPbJ
>>588

あ、ほんとですね。/usr/sbin/pppdでありました。
さて、これをどうperlから呼んで、任意のATコマンドを出力させるのか、
調べてみなくてわ。

ただ、googleであたったところ、pppdってどうもインターンット接続のソフト
みたいなんですけど?
0591nobodyさん02/10/02 17:50ID:???
>>pppdってどうもインターンット接続のソフトで
ATコマンドも打てるんじゃ!ぼけぇ!
Linuxさわったのはじめてでperlも分らんようなら帰れ!
どうせ厨だろ。/dev とかわからんだろ
おとなしくじーーーーーーーーーーーっくりしらべてから来い!
0592nobodyさん02/10/02 18:06ID:???
>>591
やっぱり上級者になるとなんでも言いたい放題でかっこいいですね。
059358502/10/02 18:09ID:JLnBuPbJ
>>591

はは、いや、Linux/perl、1年くらい使ってるんですよ(笑)

ただねぇ、ルータが最初からあって、接続はLANでって環境でインターネット
に入ったもんで、ATコマンドって、つい最近まで、使ったことも見たことも無
かったのよん。
#Windowsも「ダイヤルアップなんたら」というの、使ったことまったくない。

だから困ってるのさ。

0594nobodyさん02/10/02 18:31ID:???
> Linux/perl、1年くらい使ってるんですよ(笑)

おめでたい香具師だな。
0595nobodyさん02/10/02 18:34ID:???
>594
だから初心者なんだろ(w
0596nobodyさん02/10/02 20:11ID:???
>>581
> print $client_socket "GET $file HTTP/1.0\n\n";
この行の GET を POST にすることを気付かなかったのなら、
まず Socket と HTTP について勉強しる。

>>582
$_ = sprintf '%02d', $_ for ($mon,$mday,$hour,$min,$sec);
こう書いておけば、変数が増えても
一箇所書き換えるだけで済む。

>>585
「Linux perl シリアル通信」辺りでググってみてはどうか?

>>589
* は型グロブ。黒豹本 (O'REILLY「実用 Perl プログラミング」)
の三章に、実際の使用例と共に詳しく解説されている。
0597nobodyさん02/10/02 20:56ID:???
あるディレクトリに
Sheet1.csv 〜 Sheet10.csvまで10枚のファイルがあります。
ファイルのそれぞれの1〜9行目、1列目〜4列目
を個々に加算してresult_11.cvs ファイルの1〜9行目、1列目〜4列目
に和を挿入したいのですが、awkとbc とpaste を使っていますが、
perlなら一発で出来そうです。何かいいアイディアはありませぬか?

% cat sum.array.awk
BEGIN {
OFS=FS=","
}
{
for (i=1;i<=4;i++)
sum[FNR,i]+=$i
}
END {
for (r=1;r<=9;r++)
print sum[r,1]"\n"sum[r,2]"\n"sum[r,3]"\n"sum[r,4]
}

059859702/10/02 20:57ID:???
% awk -f sum.array.awk Sheet1.csv|sed -e 's/$/+/'>ac1.dat
% awk -f sum.array.awk Sheet2.csv|sed -e 's/$/+/'>ac2.dat
% paste ac1.dat ac2.dat
55+ 59+
77+ 81+
36+ 40+
66+ 70+
111+ 115+
3+ 7+
39+ 43+
77+ 81+
(略)
059959702/10/02 21:03ID:???
最後にTABを消して、bcに食わせるのですが、mkfifoした後、
perlのwhile(<FIFO>){ほにゃらら;}とかで処理できないかなー。
0600nobodyさん02/10/02 22:29ID:???
bcの使い方とかわからんけど
データは

4,5,44124,1324\n
45,2345,44124,1324\n
45,2345,44124,1324\n

こんな感じで

324424124\n
424148124\n
423213131\n
(適当)
↑みたいににしたいってことですか?
0601nobodyさん02/10/02 22:55ID:77XrC79c
CGIとかを動くかどうか試したいんですがまだHPスペースの承諾メールがきてなく確認できません
そこで質問なんですが無料のサーバー?ソフトみたいなのは無いんでしょうか?
0602597 02/10/02 22:57ID:???
cat Sheet1.csv
1,33,55,77,99,121,143,165
2,36,66,111,222,223,147,225
3,39,77,145,345,346,151,348
4,42,88,179,468,469,155,471
5,45,99,213,591,592,159,594
6,48,110,247,714,715,163,717
みたいなファイルが10枚あって、
ココの行列ごとに和をとって11番目のファイルに出力したい、ということです。
串刺し、といったイメージでファイルを横断して加算を取るということです。
この部分だけ、excelに頼っているのですが、
他の計算が全てUnix上なので、この計算もperlなどで行いたいなと。
0603nobodyさん02/10/02 23:09ID:???
601 :nobodyさん :02/10/02 22:55 ID:77XrC79c

=commentout
CGIとかを動くかどうか試したいんですがまだHPスペースの承諾メールがきてなく確認できません
そこで質問なんですが無料のサーバー?ソフトみたいなのは無いんでしょうか?
=cut

次。
0604nobodyさん02/10/03 00:07ID:???
commentout の意味わかってる人?
0605nobodyさん02/10/03 00:15ID:???
>>596
>$_ = sprintf '%02d', $_ for ($mon,$mday,$hour,$min,$sec);

( ´,_ゝ`) プッ ネタかよ
0606578 , 58202/10/03 01:38ID:uOd1wswN
*が型グロブで、どんなものかも分かったのですが
どんな機会に使うのでしょうか??

いまいちリファレンスより速度的に早いとか
何か利点があるのでしょうか??
0607nobodyさん02/10/03 02:17ID:???
>>602
 そのくらいのデータ量だったら、値を全て読み込んでから
処理しちゃっても大丈夫/楽じゃないですかね。

use constant FIRSTFILENUM => 1;
use constant LASTFILENUM => 10;

my @data;    #$data[ファイル名の数字部分]->[列][行]
for (my $fileno = FIRSTFILENUM; $fileno <= LASTFILENUM ; $fileno++){
    open (FILE, "Sheet$fileno\.csv") or die;
    for(my $n = 0; <FILE>; $n++){
        chomp;
        $data[$fileno]->[$n] = [split (/,/)]
        };
    close (FILE) or die;
}

 こんな感じで、データを一気に読み込んで、あとは適当に
ループを回して足すなり引くなりするというのはどうでしょ?

my $sum;    #各ファイルの列ごとの和
for (my $col = 0;$col < 6; $col++){
    for (my $fileno = 1; $fileno <= 10; $fileno++){
        for(my $row = 0;$row < 8; $row++){
            $sum += $data[$fileno]->[$col][$row];
        }
    }
    print $col + 1 . ":$sum\n";
}

たとえばこんな感じで。
060860202/10/03 02:52ID:l9L39VMS
>>602
>そのくらいのデータ量だったら、値を全て読み込んでから
よく判らないのですが、2000行400列ぐらいに集めてしまった巨大ファイルも
処理する場合、
512Mのメモリー積んでれば(OSはLinux)大丈夫でしょうか?
今までは、excelに食わせるために一旦小さいファイルに分けるなどしてましたが。
一気にできるとなるとどれくらいのファイルまでならOKなのでしょうか?
今、手元の一番大きいので、7.3Mだから大丈夫なのかな?

060960202/10/03 03:05ID:l9L39VMS
つまり、7.3Mぐらいなら、50枚くらいまでならOKという意味です。
50枚も逝かないと思うけど……。けど、こういう場合、単純計算で512Mのうち
どれくらい残しておけばいいのかな。
0610 ◆hMJAPH9PWA 02/10/03 09:46ID:???
>>606
基本的に表立ってはあまり使わない。
普通は、ファイルハンドルを使うときと、エイリアスを作成する時くらいじゃないかな。
0611nobodyさん02/10/03 10:16ID:HWMUanwi
CPANの使い方の日本語の解説がないか?
本 or サイト どっちでも可
0612nobodyさん02/10/03 10:42ID:???
今はshift-jisでperlを書いてるんですけど、eucで書いた方がいいんでしょうか。
どっちでもいいんでしょうか。時と場合で使い分けるんでしょうか。
0613nobodyさん02/10/03 10:54ID:xHS0Gcl+
>>612
シフトジスの場合に文字化けエラーに気をつければ
どっちでもいい
0614nobodyさん02/10/03 11:16ID:Co/qm2Ti
初歩的なことで申し訳ないんですけど、
配列名の中に変数をエラーってしまいます。

#!/usr/bin/perl

$num =0;
@ary = qw(a b c d e f);

foreach (@ary) {
push (@new_ary_$num,$_);
++$num;
}

この場合、
aを@new_ary_0
bを@new_ary_1
・
・
fを@new_ary_5

に入れたいのですが、push (@new_ary_$num,$_);で
引っ掛かってしまいます。
@new_ary_${num}など、いろいろ試してみたのですが
どうにもだめでした・・。
配列名の中に変数は使えないのでしょうか?

宜しくお願いします。
0615nobodyさん02/10/03 11:18ID:???
訂正
配列名の中に変数をエラーってしまいます。
↓
配列名の中に変数を使うとエラーってしまいます。

でした。すんません
0616nobodyさん02/10/03 11:18ID:???
# フォーム
<form action="aaa.cgi" method="post"><input type="text" name="text" value="aiueo"></form>
-----------------
# aaa.cgi
$post_name = "text";
$post_value = $FORM{text};
print "Location: http://xxx.yyy.zzz/hoge.cgi\n\n";
---------------
こうやってhoge.cgiへ自ら用意したpostデータ(name=text value=あらかじめ用意した値)
を送り付けたいのですが可能ですか?
getの時は引数を付ければいいだけですが・・・。
0617578 , 58202/10/03 11:21ID:v6OPXcCd
>>610
ご回答ありがとうございます、胸のつっかえが取れました。
0618nobodyさん02/10/03 12:46ID:???
>597
ところで UNIX板のシェル、オークスレにまったく同じ質問があるように見えるのは気のせいですか?
いや,マルチだとは思わないんだけどね,それぞれのやり方が知りたいのかもしれないし
061958102/10/03 13:38ID:???
print $client_socket "POST index.html HTTP/1.0\n\n";

こうしたらおかしくないですか?
postのデータはどうやって送ってるんですか?
0620nobodyさん02/10/03 13:48ID:???
>>614
push (@{"new_ary_$num"},$_);

>>616
いったん全部hiddenにしたform出力してjavascriptで勝手にsubmitするとかダメ?
0621nobodyさん02/10/03 14:44ID:V3RvumoZ
バッファをフラッシュするってどういう意味ですか?
0622nobodyさん02/10/03 14:53ID:???
$hoge = shift || 'あ';

これってなにしてるんですか?ただの代入?
0623nobodyさん02/10/03 15:59ID:l7EfCAGl
>>622
@_にデータがあればその先頭のデータを代入。なければ'あ'を代入。
0624n02/10/03 16:08ID:KXoffugq
http://yahooo.s2.x-beat.com/
0625nobodyさん02/10/03 16:54ID:???
perlでの8とか9って特別な数字か何かなの?
062660702/10/03 17:36ID:???
>>609
 あー、ファイルでかいですかー。
 じゃあ一行ずつ読み込んで処理してテンポラリに書き出すのは?

 たとえば、Sheet1.csvからSheet10.csvの同位置の要素を串刺しに
足していくスクリプトだとこんな感じでどうでしょ。

062760702/10/03 17:38ID:???
use strict;
use File::Copy;

copy ('Sheet1.csv', 'Result.csv');

for (my $fileno = 2; $fileno <= 10 ; $fileno++){
    open (DATA, "Sheet$fileno\.csv") or die;
    open (SUM, '<Result.csv' ) or die;
    open (TEMP, '>TEMP') or die;
    
    while(<DATA>){
        my @data = split(/,/);
        my @sum = split(/,/, <SUM>);
        
        my @result = map {$data[$_] + $sum[$_]} 0..$#data;

        print TEMP join (',', @result) . "\n";
    }

    close (TEMP) or die;
    close (SUM) or die;
    close (DATA) or die;
    
    unlink ('Result.csv');
    rename ('TEMP', 'Result.csv');

}

 うーん。もっとカコイイ方法ないかなあ。

 あ、それと、607の書き込みの下のコード、間違ってました。ゴメン
0628ふとした疑問02/10/03 18:28ID:v6OPXcCd
サブルーチン呼び出す時って
&subname();
の形ですよね?

で、普段は&は省略して書いてるんですが
&が無いと動かないサブルーチンとかも在ってチンプンカンプンです

そもそも&はどんな場合に必須となるのでしょうか?
0629nobodyさん02/10/03 18:54ID:bjQ5Yi4R
PerlからWin32::APIモジュールを使うとき、
RegisterClassExに渡すwndClassEx構造体の中で
ウィンドウプロシージャの指定はどうすればいいんでしょう?
Perlでユーザ関数(サブルーチン)を作ってそのリファレンスを渡せばいいのでしょうか?
0630nobodyさん02/10/03 19:11ID:???
× hogehoge
○ hogehoge()

× \hogehoge
× \hogehoge()
○ \&hogehoge
0631nobodyさん02/10/03 19:13ID:???
>>628
( )付きなら同じだよ。
&sub
と( )無しで呼ぶと&sub(@_)と同じ
0632nobodyさん02/10/03 19:54ID:FetdaLGe
>>628
省略記述って言うんだけど、実際の所省略しないほうが手っ取り早くていいぞ。
省略が通るかどうかは、他に前方宣言されているとかそうゆうのも関係ある。
ちゃんと正式に書けばどんな時も困った事にならない。
063362802/10/03 20:57ID:v6OPXcCd
>>630-632
ありがとうございました
自分には省略せずに書くのが見やすいし迷わなくていいかも。

0634nobodyさん02/10/03 21:10ID:???
ム板のPerl質問箱がrubyキティの荒しに遭って危うい状況。
0635nobodyさん02/10/03 21:31ID:Wit0Sk8M
Win2k Apacheで
print TXT "\n";
としただけなのに
TXTファイルの改行コードがCRCFになっています。なぜ?
0636nobodyさん02/10/03 21:41ID:???
>>635
Windowsの改行がCRLFだから、改行を表す\nもCRLF
0637nobodyさん02/10/03 21:49ID:???
>>636すみませんつまっていました。ありがとうございます。
\nだけprintする方法ありましたらどうぞ教えてください。
0638nobodyさん02/10/03 21:50ID:???
ごめんなさい。CFだけ記述する方法です。
0639nobodyさん02/10/03 21:51ID:???
CF???
0640nobodyさん02/10/03 21:52ID:???
だから、またrubyきちだよ。
0641nobodyさん02/10/03 21:53ID:???
>>639UNIXの改行。
0642nobodyさん02/10/03 21:54ID:???
LFでは?
0643nobodyさん02/10/03 21:57ID:???
>>642\r\nがCRCFと思っています。間違いみたいね。LFをprintしたいですが。\x0Aでも2バイトになるし。
0644nobodyさん02/10/03 21:58ID:???
出力する前に binmode(TXT);
0645nobodyさん02/10/03 21:58ID:???
CR(きゃりっじ・りたーん)
LF(らいん・ふぃーど)
0646nobodyさん02/10/03 21:59ID:???
>>644(TXT)/ やってみます。ありがとうございます。
0647nobodyさん02/10/03 22:34ID:G7kyuSYC
CPANの使い方の日本語の解説がないか?
本 or サイト どっちでも可
0648nobodyさん02/10/03 22:44ID:???
あの程度の規模のサイトに解説が必要か?
0649nobodyさん02/10/03 22:58ID:???
>>647 CPANってモジュールのこと?
それともサイトのこと?
065061402/10/03 23:17ID:???
>>620
できました!
どうもありがとうございました。
0651nobodyさん02/10/04 00:00ID:???
PerlってCとBASICのいいところを合わせたような
感じの言語だね。
0652nobodyさん02/10/04 00:09ID:???
つまり、古典と糞を合わせた最低言語ということだ。
0653nobodyさん02/10/04 01:36ID:???
#1
for($i = 0; $i < 200000; $i++) {
 $array1[$i] = 1;
}

#2
$#array2 = 199999;
for($i = 0; $i < 200000; $i++) {
 $array2[$i] = 1;
}

先に領域の確保をしておく#2の方が速いと思ったら#1の方が速くなった。なぜ?
0654 02/10/04 01:39ID:???
これってなぜ保存できないの?


http://www.need4xxx.net/asian/hamedori/data/099/dir/index.html



おんなじのコピーしてつくろうとしたけど不可能
0655nobodyさん02/10/04 03:12ID:???
>>654
ブラクラ
0656nobodyさん02/10/04 08:04ID:iu1Ymefg
「Perlについての質問箱」がruby基地外によって潰されました。
心ある人は、rubyスレにお礼参りしてください。
0657 ◆hMJAPH9PWA 02/10/04 09:10ID:???
なんかPerlerとRubyistを争わせたい人がいるなあ。
0658nobodyさん02/10/04 09:31ID:???
(´-`).。oO(なぜRubyキティ・ガイの仕業だって分かるんだろう?)
0659nobodyさん02/10/04 09:38ID:???
>>649

モジュールの方
0660 ◆hMJAPH9PWA 02/10/04 09:46ID:???
>>659
CPANモジュールの全てを網羅するのは不可能かと…。
100や200というやわな数じゃないからねぇ。

有用なモジュールやperldocの日本語化は
http://perldoc.jpで行われてるけど、まだ発足したばかりのプロジェクトだし。
066164902/10/04 09:57ID:???
>>660 CPAN.pm のことでは? >>649 の訊き方も悪かったね。ゴメソ。

>>659
http://member.nifty.ne.jp/hippo2000/perltips/CPAN.htm に
マニュアルはあるけど、これじゃダメ?
0662nobodyさん02/10/04 10:03ID:???
>>658
じゃ、引用してやるYo
------
Ruby >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Perl
ぷぷぷ
反論したいか?反論したいんだろ?ぷぷぷ大爆笑
お前らには無理。
Perlみたいな糞言語を使う奴らは人間以下
------
これがrubyキティ以外の何だってんだ、ドアフォ
あ、これはrubyキティに言ったんで気にしないで。

0663 ◆hMJAPH9PWA 02/10/04 10:26ID:???
>>662
それが単にRuby厨を騙っているだけなんじゃないか、と皆思ってるわけで。
仮に本当にRuby厨だとしても、もはやそれは言語を超えた厨房でしょ。
無視以外の対策は無いと思うんだよね。
0664nobodyさん02/10/04 10:29ID:???
>>663
> もはやそれは言語を超えた厨房でしょ。

言い得て妙。
0665nobodyさん02/10/04 10:36ID:???
>>663
ところで奴はPerlの新スレはム板には立てるな、PerlはWebprogに
引きこもってろ、というわけ。rubyのスレはム板にいくつかあるよ
ね。Perl==CGIじゃないんで、ム板にも1つくらいPerlスレがあっ
てもいいと思うんだが、奴はスレ立てた奴のIPアドレスは分かっ
てしまうと言って脅してるんで誰も立てんでしょう。「無視」と
冷静に構えてますが、ますますPerl==CGI、ruby>>Perlという
認識が広まっていいわけ?
0666nobodyさん02/10/04 11:34ID:???
>>660
http://www.cpan.jp/

>>665
荒らされると、流れが追いかけにくくなるし
こっちで話てる分には文句言わないみたいだし
別に無理してム板に立てる必要もないかナっと
0667nobodyさん02/10/04 11:43ID:???
>>665
perl知ってる人間がIPアドレスがばれるなんて事ビビるかよ…
小せぇ事気にする前にお前が言語勉強しろ
0668 ◆nqY464pJQ. 02/10/04 12:19ID:???
奴はスレ立てた奴のIPアドレスは分かっ
てしまうと言って脅してるんで誰も立てんでしょう。「無視」と
奴はスレ立てた奴のIPアドレスは分かっ
てしまうと言って脅してるんで誰も立てんでしょう。「無視」と
奴はスレ立てた奴のIPアドレスは分かっ
てしまうと言って脅してるんで誰も立てんでしょう。「無視」と
奴はスレ立てた奴のIPアドレスは分かっ
てしまうと言って脅してるんで誰も立てんでしょう。「無視」と
奴はスレ立てた奴のIPアドレスは分かっ
てしまうと言って脅してるんで誰も立てんでしょう。「無視」と
奴はスレ立てた奴のIPアドレスは分かっ
てしまうと言って脅してるんで誰も立てんでしょう。「無視」と
0669nobodyさん02/10/04 12:30ID:???
キミらにはまだわからないのかもしれないけどみんな大人なんだよ。


いらっしゃーい、Perlの「コーディング」で困ってる人のスレです。

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

1と3が無いと誰も答えられないよ。
良い回答は良い質問から。一緒に勉強しましょう。
067065902/10/04 12:42ID:???
>>661

‥‥‥‥‥‥‥‥漏れ、ここのサイト行ったことあるわ。
なんで見つけられなかったんだろう?

恥ずかしいので、回線切って、首吊ってきます。
0671nobodyさん02/10/04 13:38ID:???
>>667
>perl知ってる人間がIPアドレスがばれるなんて事ビビるかよ…
perlを知っているかどうかとは関係ないでしょ。rubyキティが言うように
新スレを立てた人間のIPアドレスが記録されていて一般ユーザも参照可能
かどうかということでしょ。
0672nobodyさん02/10/04 13:45ID:???
他の可能性:
1)Apacheなどのhttpdサーバは、httpdサーバにアクセスしたユーザのIPアド
レスと閲覧したページをaccess.logに記録します。(Perlなどアクセス解析ス
クリプトの多くは、このファイルを読んでグラフとか表に整形します。)した
がって、プロバイダの管理者は、特別な場合にこのaccess.logから特定の時間
に特定のページにアクセスしたユーザ情報を知らせることができます。2chで
も、個人名を挙げた誹謗中傷の書きコに対して時々見られます。今回の場合は、
この可能性は、ないと思われますが、問題は、rubyキティがプロバイダ関係、
あるいは2ch管理者関係の人間であった場合です。
2)新スレ立てたヤシ(1だね)に自鯖のHPを見るように誘って、IPアドレス
を抜き取る。
3)perlでは、packet解析も容易にできる。
0673nobodyさん02/10/04 13:51ID:Ck18zQey
自分用にライブラリ作ってるんだけど
#コメント行だけで数キロバイト・・・
やっぱファイルサイズが大きければ大きいだけ速度に影響しますか?

というか50KB程度なら体感的に別に関係ない気もしますが
どうなんでしょう
0674nobodyさん02/10/04 13:57ID:???
>>672
だからIP抜かれたから何…
企業からとかならともかく
プロバイダのIPじゃせいぜい
住んでる地域くらいしかわからないじゃん…
荒らしたわけじゃないからアカウント消されるわけでもなし
0675nobodyさん02/10/04 13:58ID:???
>>673
それくらいだったら、人間の感覚では判別できない程度です。
0676nobodyさん02/10/04 14:00ID:???
>>673
コメントの量くらいで体感差はないと思うけど、
気になるならコメントは別のファイルに書いとけば?
コメント自体あんま要らないと思うけど。
0677nobodyさん02/10/04 14:18ID:???
open (TXT, "aaa.txt") || &error("開けません。");
while($linevalue = <TXT>){

}
aaa.txtを一気に全部読み込むことってできますか?
while($linevalue = <TXT>){
 $line_all .= $linevalue;
}
で、連結させていくしかないですか?
0678nobodyさん02/10/04 14:25ID:???
>>673
perl がスクリプトを解析する部分での影響は殆ど無い。
但しディスク I/O が遅ければ、当然その影響は受ける。

>>677
undef $/;
0679nobodyさん02/10/04 14:41ID:zNdIxOGz
フルパス名から拡張子を抜き出すのて
$kakutyousi=~/\.([a-zA-Z]$)/;でいい
0680nobodyさん02/10/04 14:42ID:???
>>677
open (TXT, "aaa.txt") || &error("開けません。");
@linevalues = <TXT>;

こういうのをPerlお大尽といいます。
0681nobodyさん02/10/04 15:01ID:???
>>679これ質問?
拡張子に数字を含んだものもあるかも。
/(\.[^.]+)$/じゃあどうよ。
0682nobodyさん02/10/04 15:14ID:???
>>681
/\.([^.]+)$/だよね?

っていうか,/([^.]+)$/じゃだめなの?
■ このスレッドは過去ログ倉庫に格納されています