817 :
仕事人 ★:
あるディレクトリ内のファイルの数だけ
簡単に取り出すにはどうやるといいんだろ
Perl ですー
>>817 @filelist = glob "PATH/*.dat";
819 :
仕事人 ★:04/02/08 15:32 ID:???
おおっ
どもです どもです
んで $ninzuu = @filelist; ってやればいいの?
>>818 Perl のバージョンによっては File::glob の実装(上書き)になっているものもありますので、マニュアルを参照してください。
>>819 $ninzuu = scalar glob "PATH/*.dat";
空の時は、未定義になりますので。
822 :
仕事人 ★:04/02/08 15:36 ID:???
やってみますー
>>822 はいー
あ、時刻がキリ番!>(2**9)*3
824 :
仕事人 ★:04/02/08 15:43 ID:???
Global symbol "$ninzuu" requires explicit package name at f22.cgi line 46. BEGIN not safe after errors--compilation aborted at f22.cgi line 46.
といわれてしまった。トホホッ
>>824 my $ninzuu;
するか、直接条件文に入れるとか。
なんたらかんたら if (scalar glob "PATH/*.dat") > 10;
あ、scalar で評価するとファイル名が出てくるんだった(汗)@glob
my $ninzuu = scalar(grep /\.dat/, glob "PATH/*");
ちょと冗長かも、、、
827 :
仕事人 ★:04/02/08 16:05 ID:???
どもども
やってみましたー
news6の_service に一時間に一回クリア直前に
数えてみよう作戦だー
>>827 $Check_files = sub {
local *Service_DIR;
opendir Service_DIR, "$ENV{PATH}/public_html/_service" or return 0;
return scalar(grep /*.txt/, readdir Service_DIR);
};
if (&$Check_files > 10) { なんたらかんたら }
みたいなのかな?(^-^;)
♪glob "*" より readdir の方が効率的らしいです。φ(・_・) メモメモ
>>828 ・Perlにはポインタがない
・closedir してない
なんでちょっとそのコードは、、
あっ、それでも動くのか、、
何かすいません
ごそごそしていて、でかけるの遅れた。
wildcardの展開はとってもコストが高いので、
絶対にopendir/readdir/closedirを使ってください。>>仕事人さん
数だけがわかればいいなら、alphabetical sortは必要ないわけで。
俺もなんかしたいんだけどどうすりゃ参加できるの?
833 :
仕事人 ★:04/02/09 01:11 ID:???
>>833 Yes.
readdir()だと、ディレクトリエントリを直接開いて順に読むので、
圧倒的に軽いです。
readdir は、カレント(./ ../)なども含まれますので幼虫胃です (^o^)
>>835 あ、むろん、そうすね。
ぶっちゃけていえば、ディレクトリを頭からcatして、
ちょっと整形してるようなもんです。< readdir
globはまじめに中身全部よんで、それから評価(parse)してる。
parseはとてーもコスト高なんで、やらないですむならやらないほうがいいっす。
837 :
仕事人 ★:04/02/09 20:21 ID:???
readdir にした。
news6 , ex2 , live8 , live7 , live5 , live4 , live3 あたりに入れてみた。
_service の中見てみてね。
>>837 2004/2/9 20:12:23 CODE(0x810e324)
リファレンスが入っている悪寒?
printf FileHandle qq|%04d/%02d/%02d %02d:%02d:%02d|, (localtime)[5] + 1900, (localtime)[4,3,2,1,0];
なんてすると、もっと綺麗になれるかも(*^-^*)
>>838 ただ単に
>>828 のコードで、
"print QQQ $Check_Files"ってやっちゃった予感。
で、その下で直したんでしょう。
840 :
仕事人 ★:04/02/09 21:01 ID:???
$ENV から Linux とか FreeBSD とかはどやって取るの? (Perl)
if(!FreeBSD)
{
なんちゃら
}
とやりたい。
OSTYPE
"$^O"で取得できるらしい。
でもどんな値が帰ってくるかはわからん。
$^O
はPerlバイナリがコンパイルされたOS名が入ってますー。
844 :
仕事人 ★:04/02/10 11:29 ID:???
845 :
/ノ、゚ ヮ゚ノ、,ヽ ◆HEHARUKAoo :04/02/10 11:33 ID:UiY+CRAm
>>844 live8鯖に2万人以上も張り付いているですか。
846 :
仕事人 ★:04/02/10 11:40 ID:???
参考資料としてhobbyとかの普通の鯖ではどのくらいなのかとか知りたい
うほっ
849 :
仕事人 ★:04/02/10 11:48 ID:???
全部に入れてみますかー
数時間たって入っていなかったら教えてください。
娘。系板って書き込みが無駄に多いだけで
見てる人はそんなでもないのかしらん
>>844 2004/2/10 13:9:59 23887
2004/2/10 14:9:58 700
おやっ
852 :
仕事人 ★:04/02/10 17:08 ID:???
一回クリアしてみたのだ。
>>844 2004/2/10 14:9:58 700
2004/2/10 15:9:58 969
2004/2/10 16:9:58 857
2004/2/10 17:0:2 651
今は一時間ごとにクリアですか?
854 :
仕事人 ★:04/02/10 17:27 ID:???
これ見ていれば Samba24 の異常を検知できるです。
>>844 >>846 ヘェーヘェーヘェー
>>854 あぁわかりました。あそこをreaddirしてるですか。
例えばDNSでやるには、どうしたらいいかなぁ。
DNSを自分で持ってるuma/pekoサーバじゃないと、ちょいとめんどうかも。