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

Perl コーディング初心者質問コーナー Part35

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん04/05/26 16:48ID:kkhhiYmo
いらっしゃーい、Perlのコーディングで困ってる人のスレです。

【投稿する際の注意】
質問するときは内容をよく吟味してから投稿してください。
「コマンドの意味がわかんない」とかはマニュアル見ましょう。
回答者さんは何でも屋じゃありません。

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

最低でも1と3が無いと誰も答えられないよ。
ソース貼る時は、全角スペースでインデント忘れずに。
良い回答は良い質問から。一緒に勉強しましょう。

過去ログやお勧めサイトは >>2-10
0877nobodyさん04/07/08 22:51ID:???
(´-`).。oO( KヨNT の中の人かなぁ。。。)
087887404/07/08 22:58ID:???
>>876
強調のための倒置法みたいなもんすね。
「帰れ! やる気無いなら!」 みたいな。
0879nobodyさん04/07/08 23:00ID:???
>>870
sub Form_Input {
 my($buffer,@pairs,$value,$name);
 read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
 @pairs =split(/&/,$buffer);
 foreach $pair (@pairs) {
  ($name,$value) = split(/=/, $pair);
  $value =~ tr/+/ /;
  $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
  $input{$name}=$value;
 }
}
を最後の行にぶち込み、%Form_Input(); を条件分岐(# メイン処理 つーところ)の前で呼びだし、$mode を $input{'mode'} に変更し、
サブルーチン、registを、
sub regist {
 &header;
 print "$buffer";
 &footer;
 exit;
}

 とすればとりあえず動く。長くてスマソ。
0880nobodyさん04/07/09 01:28ID:???
(´-`).。oO(>>863はさすがにもうわかっただろうな・・・)
0881nobodyさん04/07/09 01:31ID:???
(´-`).。oO(だといいけどね…
0882nobodyさん04/07/09 02:03ID:???
>>863 = >>880と見た。
0883nobodyさん04/07/09 02:16ID:???
おもしろいこと言う人だw
0884nobodyさん04/07/09 02:19ID:???
まぁアレだ、回答が得られずにスレに張り付いてリロード繰り返してる>>863 = >>880 = >>883必死杉
0885nobodyさん04/07/09 02:24ID:???
>>884
もしかしてお前が煽って回答を引き出そうとしている>>863か?
0886nobodyさん04/07/09 02:27ID:???
>>884
俺も>>882見た瞬間に
「なんでそうつなげるんだろ?面白い人だなぁ」
と思ったんだけどな。
俺も必死杉な質問者扱いされる仕様なのか…。

# このスレ、どうなっとるんだ?

>>866
% vi ~/tateyomi.pl
088787004/07/09 08:45ID:???
>>879
レスありがとうございます。
ご指摘があった箇所を書き換えたところ、一応動きました。
が、$bufferが書き出されません・・・。

sub Form_Input の処理というのは
Formデータを読み込んで$bufferにいれ
それを&で切り分けたものを@pairsにいれる。
@pairsに入れたものを=でさらに分けて、$nameと$valueにいれる。
$valueに対してデコード処理。
で合ってますか?
これならば、$bufferは生データが表示されるはずですよね・・・。
(´ヘ`;) う〜ん・・・

もうちょっと頑張ってみます。
0888nobodyさん04/07/09 11:39ID:???
>>879
%Form_Input();じゃなくて&Form_Input();だよな。キー隣だもんな。
>>870
ソース見れないので、間違ってたらスマソ。
 print $input{'1'} ;
にするとどうなる?
088986304/07/09 11:42ID:???
>>873
朝起きて、もう一度みたら気が付いた・・・・。

>>880以降の人たち
漏れには0時過ぎに起きて2ちゃんやれるほどの元気はないぞ・・・いいな若いって。
0890nobodyさん04/07/09 11:44ID:6LTGfdJz
データとフォームから得たデータの重複チェックがしたいのですが

if ($aaa_tel eq $bbbtel){print "同じ電話番号が存在します。";}

こうしたソースで、$aaatelが0123-45-6789の場合、$bbbtelの中が
0123456789や、01-2345-6789、012-345-6789、012-345-6789
0123-45-6789、01-2345-6789なども
同じ番号と判定して警告を出すためには、どのように書き直した方が
いいのでしょうか?

0891nobodyさん04/07/09 11:55ID:???
>>890
比較する前に、比較できるようフォーマットを揃える
0892nobodyさん04/07/09 12:04ID:???
両方の文字列からハイフンを除去し、マルチバイト文字をASCIIに揃え、
とかやった上で比較するわけだな。
一般には「正規化」と呼ばれる。
089389004/07/09 12:05ID:6LTGfdJz
正規表現を使って判定するとしたら、どんな記述になりますかね?
0894nobodyさん04/07/09 12:11ID:???
俺と性器表現しようよ
0895nobodyさん04/07/09 12:13ID:???
s/>>894//
0896nobodyさん04/07/09 12:36ID:???
>>893
sとm、どっちがお好き?
0897nobodyさん04/07/09 13:37ID:???
>>890
1. 双方とも全角→半角する。Encode でも Jcode でも。
2. 双方とも tr/0-9//d; にする。
3. 双方を比較する。
4. おしまい。
0898nobodyさん04/07/09 13:59ID:???
>>896
ワロタw
しかも質問が変ではない。
0899nobodyさん04/07/09 17:20ID:???
ハッシュtableの中身をソーティングし、その値を出力するプログラムです。

%table = ('A' => '5',
'B' => '10',
'C' => '8',
'D' => '13');

sub number {
if ( $table{$a} > $table{$b} ) {
return 1;
}
elsif ( $table{$a} == $table{$b} ) {
return 0;
}
elsif ( $table{$a} < $table{$b}) {
return -1;
}
}

foreach $KEY (sort number values %table){
print "It's $KEY \n";
}

上記のプログラムを実行したところ、tableの値がソーティングされておらず、しかもデバッグにより、サブルーチン内の$aと$bに値が入っていないことが解りました。時分でも減員を調べたのですが解らなかったので、教えて頂けませんでしょうか?
0900nobodyさん04/07/09 17:51ID:???
>>899
foreach( sort{$table{$a} <=> $table{$b}}keys %table){
print "It's $_ \n";
}

何してるんだか、どっから説明すればいいんだか、
なんで何の為にこねくり回してるんだか
0901nobodyさん04/07/09 18:03ID:???
      |       /ヾ..                  | |
      |          |         __,-'ニニニヽ .  |  |
..       |        `、ヽ        ヾニ二ン"  /  |
        |         ヽ\             /  |
AA略

        誤字は誤字であると見抜ける人でないと
        (Perlのコーディングは)難しい
0902nobodyさん04/07/09 18:55ID:???
ネット上のファイル(httpからはじまるようなもの)をopenで開くような感じにする方法ありますか?
cgiを通してネット上のファイルを書き換えてレンダリング、というのをやりたいんですが、
同じサーバーのものしか扱えなくて困ってます。
0903nobodyさん04/07/09 19:40ID:???
そんなんできたら大変だろ・・・・
0904nobodyさん04/07/09 19:40ID:???
>>902
それができたら世の中どうなるか考えてみろ
0905nobodyさん04/07/09 20:00ID:???
>904
どういうものを想像してるのかわかんないんですが、
ファイルを書き換えて保存するわけじゃなくて、
ファイルを読み込んで、書き換えたものをレンダリング、です。
電波ニュースとかご存じないでしょうか。あんな感じなんですが。
0906nobodyさん04/07/09 20:18ID:???
>>905
普通にSocketを使ってよむんならかのう。 PHPならfopenで読めるそうな
0907nobodyさん04/07/09 20:43ID:???
>>905
相手がhttpならLWP使って読めばいいんじゃねーの?
変数なりなんなりに中身入っちまえば後は煮るなり
焼くなり好き勝手すりゃいいわけで。
0908nobodyさん04/07/09 21:08ID:???
phpはfopenでurl開けるから楽。関数もむちゃくちゃおおい
でも、素人はperl使っててください、お願いだからPHP使わないでね^^
0909nobodyさん04/07/09 22:21ID:???
>>897
tr/0-9//d;ってのは、変換する文字が数字で
変換する文字のリストが無い訳ですよね。

すみません、どのような効果があるのかわからないのですが。
0910nobodyさん04/07/09 22:25ID:???
>>899
コード中の
= ('A' =
これがAAに見えてしかたがない漏れは
いってよしでつか?
0911nobodyさん04/07/09 22:33ID:???
>>909
ハイフンの有無が混在してると比較の邪魔。
それを比較しやすいデータにして返してくれる、という効果。

tr///d; ←この d の意味を調べると幸せになれる予定。
0912nobodyさん04/07/09 22:37ID:170SmloA
>>910
こまった899の顔に見えるな
0913nobodyさん04/07/09 22:38ID:???
>>909
それ多分tr/0-9//cdの間違いで、意図は数字以外の文字を
全部削って数字だけ残す、だと思われ。
091491104/07/09 22:42ID:???
_| ̄|○…吊ってきまつ。
0915nobodyさん04/07/10 00:04ID:???
>>905
まあ>>907の言うとおりLWP使うのが常道だろうな。
LWPという名前が初耳だったら即ぐぐれ。
0916nobodyさん04/07/10 00:50ID:???
>907

>915

有難う御座います。ざっと具具って読んでみましたが、鯖にインストールしないと使えないみたいですね。
借り鯖なんで、試して無理なら無理、ってことでしょうか。
0917nobodyさん04/07/10 01:48ID:???
$file = 'system/index.html';
という感じで($fileは動的で、ファイル名が入ります)、
そのディレクトリ、を特定したいのですが、(つまりファイル名だけ省く)どうすればいいんでしょうか。
一番最後の . 〜その直前の / までの割り出し方があればなんとか出来そうなんですけど。
0918nobodyさん04/07/10 02:02ID:???
/.*\//
091991704/07/10 02:05ID:???
($dir,$trash) = split(/./,$file);
で拡張子だけはずす事までは出来るんですけど。
$fileに入るファイルURLは / がいくつはいるか特定できないので / で区切るわけにもいかないし。
どうしたらいいんでしょうかね。
092091704/07/10 02:05ID:???
>>918
一足違いでした。
有難う御座います。それを調べてみます。
092191704/07/10 02:22ID:???
s/オプションをつけない状態の、「最初に見つかった○○」の逆みたいな、後ろから最初に見つかった、ってオプションはないんでしょうか?
最後のスラッシュを書き換えればその書き換えたもので区切って、前方を、ってできるような気がしたんですけど。

#完全におかしなことを言ってるような気がしてきた。

>>918
えっと調べてみたんですが、「一番最初に見つかった○○」〜「一番最初に見つかった××」ですかね。

$file = 'system/news/index.html';
だと「system/」しか拾ってくれないのではないでしょうか?
誤読してますかね。
0922nobodyさん04/07/10 03:15ID:???
>>917
$file =~ s/(.*\/).*/$1/;
とか
$dir = substr($file, 0, rindex($file, "/") + 1);
092391704/07/10 03:18ID:???
>>922
試行錯誤を繰り返しておりましたが答えに到達できませんでした。
それでうまくいきましたです。本当に有難う御座いました。
0924nobodyさん04/07/10 07:39ID:INTe94T2
あの、perlってコーディングの自由度が高いですよね。
 
そこでperlのソースコードで縦読みって作れるんでしょうか?
 
一見、ふつうのソースだが、縦とか斜めに読むと
面白い事が書かれているとか。
変数名だけじゃなくて、命令や関数が組み合わさって縦読みできたら、かなりすごいんじゃないでしょうか。
0925nobodyさん04/07/10 08:09ID:???
>>924
http://books-support.softbank.co.jp/pq/backnumber/036_ans_reader.html
の一番下。
0926nobodyさん04/07/10 08:10ID:???
>>924
あんたにゃ無理かもしれんが、
エンコード文字列だけのスレの54がすごいぞ
http://pc5.2ch.net/test/read.cgi/php/1065258181/54

縦読みっていうレベルの話じゃないぞ。
見たら「ビックリ」するぞ。
漏れも初めてあのスクリプトを見たとき、perlの行き着く先には絶望しかないかと思ったよ。

じゃ、がんばって解凍してね。
0927nobodyさん04/07/10 12:46ID:???
>>926
つーか、エバッてるから、ちーともびっくりしない。
0928nobodyさん04/07/10 14:43ID:???
ユーはパアルのなにが知りたいんだい?

答えてやるよ!
0929nobodyさん04/07/10 15:06ID:???
存在価値
0930nobodyさん04/07/10 15:31ID:???
そうかい。ユーは存在価値が知りたいのかい。

存在していて、害にならなければ存在価値はあると言っていいだろう。

でも大事なことを教えてやろう。パアルのコージングとは無関係な質問ね。
093187004/07/11 06:02ID:???
あがいて結局できなく、半べそかいてもどってきました870です。

>>888
一応&Form_Input();にはしてあります。
それで、アドバイスがあった
  print $input{'1'} ;
を入れてみたのですが、表示されません。
一応ソースですが、再アップしてみたので、よかったらご覧になってください。

もう自分挫折しそうですorz
どなたか、愛の手を・・・
0932nobodyさん04/07/11 06:15ID:???
>>931
print "Content-type: text/html;\n\n";

それと、ソースのファイル名が100q.zipじゃなくて100.zipになってたぞ。
093393204/07/11 06:50ID:???
>>931
ヘッダの問題じゃなかったのかな?

print $input{'1'} ;
って何を表示するのかわかってる?
print $input{$_} for 1..100; こうした方が君にはいいかも
0934名無しさん@そうだ選挙に行こう04/07/11 08:06ID:???
>>888
$input{'1'}
を
foreach (1..100){
print qq($_ : $input{$_} <BR>\n);
}
にしてみる。
0935名無しさん@そうだ選挙に行こう04/07/11 18:24ID:???
>934 Perlスレッドでのレスありが�d
こんなスクリプトを書きましたが、結局画像の形だけが表示されてしまいしまた。
画像を出して、Locationで飛ばしたかったんだけど。
#!/usr/local/bin/perl
$image = "./image.gif";
$SIG{ALRM} = \&timeout;
#GIF画像の出力
sub timeout{
print "Location: http://******/success.html\n\n";
alarm 0;
exit;
}

alarm 5;

print "Content-type: image/gif\n\n";
#画像の書込
open(IMG,"$image");
binmode(IMG);
print <IMG>;
093693504/07/11 18:26ID:???
あ、「GIF画像の出力」コメントは、なしです。
0937nobodyさん04/07/11 21:09ID:???
ttp://****/*.cgi?f=filename.jpgで
filename.jpgへリンクしたhtmlを出力させたいと思ってます。

<a href="特定のURL指定/$f">●</a>とおいたときに$fがfilename.jpgじゃなく空白になります。
filename.jpgを出力するために何か処理が必要になるのでしょうか?
htmlの出力、URLの指定などは問題なしです。
アドバイスお願いします。
0938nobodyさん04/07/11 21:16ID:???
>>937
>>1
> 1: 自分はこう言う事がしたい。
> 2: それでこんな風にやってみたが・・・
> 3: こんなエラーが出て上手く行かなかった。

2が抜けてる。
?f=filename.jpg を $f にどうやって代入してるの?
093993704/07/11 22:16ID:???
>>938
レスありがとうございます。
?f=filename.jpgが$f指定してると思ってたので特に記述してなかったです。

?f=のような指定について調べてみたのですが、参考になるページが見つかりませんでした。
情報ありましたらアドバイスいただけないでしょうか?
0940nobodyさん04/07/11 22:26ID:???
>939
QUERY_STRINGでぐぐれ。
0941nobodyさん04/07/11 23:12ID:YH96401L
PHPだと
$array[] = "apple";
とすると配列の最後に"apple"を追加してくれるのですがこれをPerlでやる場合
簡単な方法ってどうやりますか?
0942nobodyさん04/07/11 23:14ID:???
>>941
push
0943nobodyさん04/07/11 23:20ID:???
どもです
094493704/07/12 01:23ID:???
>>940
ありがとうございます。解決しました。
0945nobodyさん04/07/12 09:47ID:???
>>942
pushって遅くね?
0946nobodyさん04/07/12 10:17ID:???
GD::Graphでグラフを描こうとしてるんだけど
$gd=$graph->plot(\@data);
open(IMG, '>test.gif' ) or die $!;
binmode IMG;
print IMG $gd->gif; ★
close IMG;

★のところで Can't call method "gif" on an undefined value
pngにしてもだめなので、ここで何をサポートしているのか知りたい。
サポートしているファイル形式を知るためのメソッドってありますか?
0947nobodyさん04/07/12 10:35ID:???
>>946
ソースを読め
0948nobodyさん04/07/12 10:39ID:???
>>945
SVとかPVとか何のことだか分かる?
0949nobodyさん04/07/12 11:03ID:???
配列に小数点を入れるとき
@a = qw( 0.1 0.2 0.3 );
だとちゃんと入るんだけど
@a = { 0.1, 0.2, 0.3 };
だとなんかすっげー数字が入っている
なんでだすか?
0950nobodyさん04/07/12 11:26ID:???
@a = ( 0.1, 0.2, 0.3 );
0951nobodyさん04/07/12 11:44ID:???
>>950
なんですっげー数字が入るのか聞いているんだすよ。
095294904/07/12 11:48ID:???
>>950
ああ、そうだった
サンクスコ

>>951
確かにそれも気になるけど
0953nobodyさん04/07/12 12:53ID:???
>>951
my @a = { 0.1, 0.2, 0.3 }; # ハッシュリファレンス 1 つを @a に代入
print @a, "\n"; # リファレンスを文字列として評価 → "HASH(0x10c1350)"

# 文字列 "HASH(0x10c1350)" を強制的に数値コンテキストで評価
# 0x10c1350 → 17568592
$_ += 0 for @a;

print @a, "\n"; # 17568592
0954nobodyさん04/07/12 12:58ID:???
>>953
正確には文字列→数値じゃないな。リファレンスを数値コンテキストで
評価するとアドレスの値が返る。
0955nobodyさん04/07/12 13:28ID:???
>>953
あ、なるほど。
0956nobodyさん04/07/12 19:33ID:???
サブルーチンにファイルディスクリプタを渡したいんですが
0957nobodyさん04/07/12 20:56ID:???
perlスクリプトをHTMLに埋め込むことって出来ますでしょうか?
例えばpingを打ちたいと思ったら
CGIだと
クライアントから要求→サーバがping実行→クライアントに実行結果を返す
ですが、
HTMLの中にスクリプトを埋め込むことによって、クライアントからpingを打つことは可能でしょうか?
うまく意味が伝わらなかったらごめんなさい_no
0958nobodyさん04/07/12 21:16ID:???
>>957
無理
0959nobodyさん04/07/12 21:26ID:???
>>956
http://www.kt.rim.or.jp/%7Ekbk/perl5.005/perlfaq5.html#How_can_I_make_a_filehandle_loca

>>957
"PerlScript" で調べ回れ。
096095704/07/12 21:40ID:???
>>958
回答ありがとうございます。
ゼミの教授が「タグで簡単に出来る」と言ってきて、
自分なりに色々調べたのですが、全くそのような情報がなかったので質問させて頂きました。
胸を張って「そんなこと出来ませんよ」って言いたいと思います!
0961nobodyさん04/07/12 21:52ID:???
>>960
お前さ、一つ前のレスも読めないのか?
0962nobodyさん04/07/13 03:39ID:???
いいじゃん
恥かくのは本人なんだから
0963nobodyさん04/07/13 05:45ID:???
>>960
ゼミの教授は嘘つきだ
Perlにタグなどない!

だいたいHTMLに埋め込むのってCGIじゃなくてSSIでしょー
確かにSSIをHTMLに埋め込むのはタグだけどなぁ
0964nobodyさん04/07/13 06:00ID:???
>>963
学生「先生!あのpingの話ですけど、できませんよ!」
教授「ほう、何か調べたのですか」
学生「はい。調査の結果、2chのnobodyさん(958)が『無理』と。句読点なしで」
教授「…帰れ」
…こんな感じのコじゃないかな。

「タグで出来る」ってのも、>>960さん用語に変換されてるだけかもしれない。
0965nobodyさん04/07/13 08:12ID:???
ヘッダをimage/gifとかにして、
「<img>タグ」でアクセスとかだったら、
ちょっと、いぢわるだなぁ、その教授。
>957とりあえずガンガレ。。
0966nobodyさん04/07/13 11:28ID:???
HTMLの中にperlを埋め込むだけなら PERL_SSI とかいう手もあるが、
「クライアントからpingを打つ」てのは難しそうに思えるなあ。
それができるとたぶん物凄いセキュリティホールになる。
0967nobodyさん04/07/13 12:36ID:???
だから
無理
って言ったんですけどね・・・
0968nobodyさん04/07/13 13:17ID:Q7wc8BxW
特定のフォルダにあるファイルを表示し、ファイルにリンクを張り、ファイルサイズとアップロードされた時間を表示しています。

print "<table>\n";
print "<tr><th>No.</th><th>FileName</th><th>FileSize</th><th>UploadTime</th></tr>\n";

opendir(DIR, "$dir" ) or die;
while(my $filename=readdir(DIR)){
    if($filename=~/^\.{1,2}$/){
        next;
    }
    ++$no;
    @fileinfo = stat("$dir$filename");
    $upldtime = &time($fileinfo[10]);
    $filesize = int ($fileinfo[7] / 1024);
    $filesize = ~ s/(\d)(\d\d\d)(?!\d)/$1,$2/g;
    print "<tr><td>$no</td><td><a href=\"$dir$filename\">$filename</a></td><td>$filesize KByte</td><td>$upldtime</td></tr>\n";
}
print "</table>\n";
closedir(DIR);

左端からNo.、ファイル名、ファイルサイズ、アップロードされた時間・・・と4つ並びます。
ここで、「アップロードされた時間」を基準にして、時間の新しいものから順にリスト表示したいのですが
根本的にやり方がわかりません。
whileより上でソートしていないといけないような気もするのですが・・・
誰か教えてください。。

&timeはここには出ていませんが、yyyy/mm/dd hh:mm:ss形式で表示させるためのサブルーチンです。
0969nobodyさん04/07/13 13:22ID:???
>>968
lsの結果を出力すればいいじゃん?
0970nobodyさん04/07/13 13:33ID:???
アップローダー作っておきながら、ソートもできんのか・・・
0971nobodyさん04/07/13 13:38ID:???
>>968
whileの中でhtml出力まで一気にやらなけりゃいいんじゃないの?
while内でhashなりにデータ格納して、
後で好きなようにソートなり何なりしてHTML出力すれば?
097296804/07/13 13:57ID:Q7wc8BxW
みなさまありがとうございます。

>>969
system "ls -lt" >hoge.txt
・・・みたいな感じですね。system禁止されてなきゃいいのですが。

>>970
そうか。
アップローダーCGIを参考にすればよかったのですね。
全然思いつきませんでした。

ファイルのアップはFTPです。アップローダーなんて高機能なもの、まだ作る腕がありません。。

>>971
perlのsortを調べてて、「先頭からn番目(今回の場合は4番目)のものをキーにして・・・」というのが、探し当てられませんでした。リャマ本にも「すぐわかるperl」にもなかったですし、いろいろ探し回ったのですが。。
・・・と書いてて今思いつきました。
タイムスタンプを先頭に格納すればいい?

がんばってみます。 
097397004/07/13 14:03ID:???
>>972
>ファイルのアップはFTPです。
そうだったのか・・・スマンコ
0974nobodyさん04/07/13 14:12ID:???
print <<"EOS";
<table summary="アップロードされたファイルの一覧">
\t<tr><th abbr="番号">No.</th><th abbr="ファイル名(リンク)">FileName</th><th abbr="サイズ(Kilo bytes)">FileSize</th><th abbr="アップロード時刻">UploadTime</th></tr>
EOS

my $count = 0;
local *DIR;
if (opendir DIR, $dir) {
foreach my $filestatus (
sort { $b->[3] <=> $a->[3] } # 最新更新時間を降順に並べ替え
map { [ $_, qq|$dir/$_|, (stat qq|$dir/$_|)[7,9] ] } # [ファイル名、ファイル位置、ファイルサイズ、最終更新時間]
grep { !/^\.+/ } # . .. を排除
readdir DIR # 読む
) {
printf qq|\t<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>\n|,
++$count, # ファイル番号
sprintf (qq|<a href="%s">%s</a>|, $filestatus->[1,0]), # ファイル名とそのリンク
sprintf (qq|%s KBytes|, int($filestatus->[2]/1024) =~ s/(\d)(\d\d\d)(?!\d)/$1,$2/eg), # サイズ(KBytes)
×tamp($filestatus->[3]) # 最終更新時刻
}
}
print qq|<td colspan="4">ファイルがないかも (´・ω・`)</td>\n| unless $count; # $count が 0 ならば
print <<"EOS;
\t</tr>
</table>
EOS

脳内処理につきご勘弁m(_ _)m
097596804/07/13 15:40ID:pa0oo0i5
>>974
ヒントの宝庫ですね。
特に
>sort { $b->[3] <=> $a->[3] } # 最新更新時間を降順に並べ替え
添え字の位置はそこだったのか。。

あとアップロードされた時間を所得するのは$mtimeなんですね。。($ctimeだと思い込んでた)

一生懸命がむばってみます。ありがとうございました。
0976nobodyさん04/07/13 16:09ID:???
一度、FH というファイルハンドルで書き出しを行い、一旦閉じて、

別のファイルをFHで書き出しをしてフラッシュした場合、以前の書き出しも
フラッシュされるのでしょうか?
レス数が950を超えています。1000を超えると書き込みができなくなります。