[過去ログ] bbs.cgi再開発プロジェクト2 (1001レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
817(1): 仕事人 ★ 04/02/08 15:19 ID:??? AAS
あるディレクトリ内のファイルの数だけ
簡単に取り出すにはどうやるといいんだろ
Perl ですー
818(1): 未承諾広告※ ◆aiY4htt2.2 04/02/08 15:31 ID:bc0k0XbW(1/7) AAS
>>817
@filelist = glob "PATH/*.dat";
819(1): 仕事人 ★ 04/02/08 15:32 ID:??? AAS
おおっ
どもです どもです
んで $ninzuu = @filelist; ってやればいいの?
820: 未承諾広告※ ◆aiY4htt2.2 04/02/08 15:33 ID:bc0k0XbW(2/7) AAS
>>818
Perl のバージョンによっては File::glob の実装(上書き)になっているものもありますので、マニュアルを参照してください。
821: 未承諾広告※ ◆aiY4htt2.2 04/02/08 15:34 ID:bc0k0XbW(3/7) AAS
>>819
$ninzuu = scalar glob "PATH/*.dat";
空の時は、未定義になりますので。
822(1): 仕事人 ★ 04/02/08 15:36 ID:??? AAS
やってみますー
823: 未承諾広告※ ◆aiY4htt2.2 04/02/08 15:38 ID:bc0k0XbW(4/7) AAS
>>822
はいー
あ、時刻がキリ番!>(2**9)*3
824(1): 仕事人 ★ 04/02/08 15:43 ID:??? AAS
Global symbol "$ninzuu" requires explicit package name at f22.cgi line 46. BEGIN not safe after errors--compilation aborted at f22.cgi line 46.
といわれてしまった。トホホッ
825: 未承諾広告※ ◆aiY4htt2.2 04/02/08 15:51 ID:bc0k0XbW(5/7) AAS
>>824
my $ninzuu;
するか、直接条件文に入れるとか。
なんたらかんたら if (scalar glob "PATH/*.dat") > 10;
826: 未承諾広告※ ◆aiY4htt2.2 04/02/08 15:56 ID:bc0k0XbW(6/7) AAS
あ、scalar で評価するとファイル名が出てくるんだった(汗)@glob
my $ninzuu = scalar(grep /\.dat/, glob "PATH/*");
ちょと冗長かも、、、
827(1): 仕事人 ★ 04/02/08 16:05 ID:??? AAS
どもども
やってみましたー
news6の_service に一時間に一回クリア直前に
数えてみよう作戦だー
828(3): 動け動けウゴウゴ2ちゃんねる 04/02/08 16:19 ID:bc0k0XbW(7/7) AAS
>>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 の方が効率的らしいです。φ(・_・) メモメモ
829: 某ソレ511 04/02/08 16:25 ID:OrBek328(1/2) AAS
>>828
・Perlにはポインタがない
・closedir してない
なんでちょっとそのコードは、、
830: 某ソレ511 04/02/08 16:28 ID:OrBek328(2/2) AAS
あっ、それでも動くのか、、
何かすいません
831(1): root ★ 04/02/08 17:20 ID:??? AAS
ごそごそしていて、でかけるの遅れた。
wildcardの展開はとってもコストが高いので、
絶対にopendir/readdir/closedirを使ってください。>>仕事人さん
数だけがわかればいいなら、alphabetical sortは必要ないわけで。
832: 動け動けウゴウゴ2ちゃんねる 04/02/09 00:40 ID:l59D5Ol5(1) AAS
俺もなんかしたいんだけどどうすりゃ参加できるの?
833(1): 仕事人 ★ 04/02/09 01:11 ID:??? AAS
>>831
うっ そですか
ということは >>828 の方が良いということですか?
834: root ★ 04/02/09 02:14 ID:??? AAS
>>833
Yes.
readdir()だと、ディレクトリエントリを直接開いて順に読むので、
圧倒的に軽いです。
835(1): 未承諾広告* ◆aiY4htt2.2 04/02/09 12:53 ID:L0vxgzDc(1) AAS
readdir は、カレント(./ ../)なども含まれますので幼虫胃です (^o^)
836: root ★ 04/02/09 13:43 ID:??? AAS
>>835
あ、むろん、そうすね。
ぶっちゃけていえば、ディレクトリを頭からcatして、
ちょっと整形してるようなもんです。< readdir
globはまじめに中身全部よんで、それから評価(parse)してる。
parseはとてーもコスト高なんで、やらないですむならやらないほうがいいっす。
上下前次1-新書関写板覧索設栞歴
あと 165 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.272s*