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

Perl 初心者コーナー Part24

■ このスレッドは過去ログ倉庫に格納されています
0001 ◆fBgbHI04bQ 03/06/07 22:30ID:GbQKLcPE
いらっしゃーい、Perlのコーディングで困ってる人のスレです。

【投稿する際の注意】
質問するときは内容をよく吟味してから投稿してください。

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

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


CGIだけど、なんか質問ある? Part 10
http://pc2.2ch.net/test/read.cgi/php/1048686475/
【Perl,CGI】参考書籍 第三版
http://pc2.2ch.net/test/read.cgi/php/1030209573/
CGIに依存しないPerlの話題一般/Part2
http://pc2.2ch.net/test/read.cgi/php/1030548610/
スクリプトの改造依頼は、【 スクリプト改造工房 PART 6 】
http://pc2.2ch.net/test/read.cgi/php/1047806915/

過去ログやお勧めサイトは >>2-10
0202YUIS03/06/11 20:28ID:oL0No0ho
「2chからきました」ってコメントに書いたら値引きしちゃうよ(^_^)v
↓↓↓
 http://www.dvd-yuis.com/
0203nobodyさん03/06/11 20:35ID:???
>201
print eval($b);

$aや$bにコマンドを入れられてたら、かなり危険な状態になるのであまりお勧めできない。
0204_03/06/11 20:44ID:???
http://homepage.mac.com/hiroyuki44/hankaku03.html
0205nobodyさん03/06/11 21:02ID:OIUswXrq
レスありがとうございます。

print eval($b);
↑何も表示されない。
print eval{$b};
↑「いうえお」しか表示されない。

アルェー?
0206nobodyさん03/06/11 21:09ID:???
>205
すまん。
俺の記憶違いだった。
0207nobodyさん03/06/11 21:25ID:???
$b ='"${a}いうえお"';
$a = "あ";
print eval($b);
0208nobodyさん03/06/11 21:33ID:OIUswXrq
>>207
できた!
シングルクォートで囲まないといけないんですね。
サンクス。

>>206さんもありがとうがざいました。
0209_03/06/11 21:35ID:???
http://homepage.mac.com/hiroyuki44/jaz04.html
0210nobodyさん03/06/11 21:38ID:???
>>208
シングルクォートじゃなくても良いけど$bの内容が「""」とか「qq!!」と文字列リテラルとしてエバれるようになってりゃいい。
0211nobodyさん03/06/11 23:03ID:???
>>201

$b ='"(split(/<>/))[0]いうえお"';
print eval($b);

だと
いうえおと表示されます。
(split(/<>/))[0]にはある文字列がはいっています。
0212nobodyさん03/06/11 23:26ID:???
>211
evalがどういう働きをするものか勉強しなおしてください。
あなたの期待している通りにならない事がわかります。
021318803/06/11 23:39ID:???
>>190
ありがとうございます。なるほど。
ところで、こういう場合、考えられる原因ってなんでしょうか・・・?
いちお、「tmp*」のパーミッションは666にしてます。
0214nobodyさん03/06/11 23:56ID:???
>>213
こういう場合って?直してもだめだったの?
0215nobodyさん03/06/12 00:07ID:???
複数の画像を一度にアップするCGIを製作しています。
フォームから
<input type="file"〜(以下略
と言う風に入力してもらいcgiでcgi-libを使用してデコード、とまでは
できたのですが、どのようにして拡張子を取得するべきか・・・

複数のファイルをアップロードする場合、どのようにして拡張子を取得するのでしょうか?
(今現在、プログラムが手元にないのであまり詳しく状況を書けなくて申し訳ありません。)
0216nobodyさん03/06/12 00:33ID:???
>>215
スレ違いですので、お引き取りください。
0217nobodyさん03/06/12 00:35ID:???
>>215
もちろんヘッダから
0218君のBodyはNobody03/06/12 01:23ID:???
すみません、初心者なんですが教えてください。

Webでアンケートを作成し、その結果をCSVファイルにしました。
それをWindowsマシンにダウンロードして、Excelで開くと
日本語部分が文字化けをしてしまいます。

一応、SJISコードに変換してからCSVを作成しているのですが...
やり方として、根本的なことを分かっていないがために
何か間違っているような気がします。

恐れ入りますが対処方法を教えてください。
0219sage03/06/12 01:30ID:SEaNTt27
>>218
どのようにSJISに変換している?
0220nobodyさん03/06/12 01:31ID:???
http://homepage.mac.com/hiroyuki44/hankaku08.html
0221nobodyさん03/06/12 01:31ID:WFfieXIn
Perlって読みにくくてやっぱ、Rubyのようがいいよ ねぇ、
0222nobodyさん03/06/12 01:37ID:???
sjis変換にperlを使ってなかったら、どこもperlの話題ではないな
0223君のBodyはNobody03/06/12 01:38ID:???
>>219
こういう説明で十分なのか不安なのですが
&jcode'convert(*form,'sjis');
というようなコードを使っています。
0224nobodyさん03/06/12 01:57ID:???
コーティングの話ではないんですが、ちょっと玄人の方にアンケート取ります。
ちなみに俺は素人さんです。

・腹の立つほど複雑な処理を数日考えて作りました。
・記述の量はかなり多いです。
・強引に作ったので処理はめちゃめちゃで見れた物じゃないです。
・多分半年後の自分は、解読出来ません。
・さらに、メンテしにくくバグが出たら大変そうな仕組みです。
・ついでにデータファイル(txt)の書き換えもめんどくさそうです。

しかし!
上記のダメダメな処理が出来た直後に。。。
もっと効率が良くて、見やすくて、メンテしやすくて、スマートな処理を思いつきました。

・でも、ハッキリ言って書き換えるのめんどいです。
・データ(txt)も全部書き換えです。
・データの書き換えも含むと1日では出来なさそうです。
・しかも苦労して作ったダメの処理を破棄するのは抵抗があります。

普通はそんな時どうするんですか?
ダメな処理を強引に使いますか?
プログラムは苦労するものなのだと割り切って作り直しますか?
多分、処理は使い捨てではなく、ちょくちょく直しながらそれなりに使うと思います。

・そこら辺の常識を玄人さんに聞きたいです。
0225nobodyさん03/06/12 01:58ID:???
おい、そこのロンドンブーツ!
0226nobodyさん03/06/12 02:03ID:???
まず、データの書き換えをするプログラムを作るな
0227君のBodyはNobody03/06/12 02:15ID:???
>>219
ちなみに、Print文で空のファイルに書き込みをしています。
print FILE $data;
みたいにです。
0228nobodyさん03/06/12 02:17ID:???
>>224
たった数日で出来るものを「かなり多い」というな。
0229nobodyさん03/06/12 02:34ID:???
>>224
良いと思う処理方法が見つかったなら、ソースは書き換えるべき。
データファイルは、Perlで新しいフォーマットに書き換えるスクリプトを作ればいい。

俺は、そうしてる。
いや、そうするべき。
0230nobodyさん03/06/12 02:49ID:???
分かりました。
スパッと気分を変えて書き直したいと思います。
って言うか、もう始めてます。
綺麗な記述&処理のほうが後々イライラせずにすみそうだし。。。

データはperlに直接埋め込む方式に変更したので書き換えスクリプトは作れなさそうです。
まったく変な構造を持ったデータでして…。

では、ありがとうございました。
0231nobodyさん03/06/12 03:08ID:???
>>230
頑張れFIGHT (^○^)//Ω\\(^○^)ドンドコドンドコ
0232nobodyさん03/06/12 03:47ID:???
スクリプトでそのスクリプトを書き換える進化型のプログラムでも
作ったのかい?

ま、書きかえってのはそのうちやらないといけない時がくるわな。
0233nobodyさん03/06/12 04:07ID:???
readdirで読み取ったファイルやディレクトリはどういう順番の配列になるんですか?
0234224,23003/06/12 04:13ID:???
いえ、RPGです。
実は俺、以前にもここに来た事があったりして…

モンスターデータが当初の予定より複雑になった(量も多くなった)ので他の記述との折り合いが悪く、
強引に組み込んだらぐっちゃぐちゃになってしまった次第です。

素人な俺は、なぜか強引に作ってしまいスグぐっちゃに。。。恥

0235nobodyさん03/06/12 09:54ID:???
>>233
たぶん処理系に激しく依存すると思うが、おそらくディレクトリエントリに格納されている
そのままの順番(ファイルを作った順番)ではないかと。
023618803/06/12 11:13ID:???
私は>>188( = >>213 )ですが、

>>214
「直しても」ってどういうことですか?、
unlink(<tmp*>);って直しようないかと思うのですが・・・
0237nobodyさん03/06/12 11:49ID:???
>>236
( )はいらないだろ。>>190が答えてくれてるじゃないか。
unlink <tmp*>;
0238 ◆hMJAPH9PWA 03/06/12 13:09ID:???
>>236
Perlのバージョンとプラットフォームは必ず書くこと。
そのエラーはglob()したときにシェルを子プロセスを起動したが、その子プロセスが正常終了しなかった、といっている。
何故かはそのエラーからは分からない。
File::Globも試すこと。

>>237
unlink(<...>)でも全く問題ないよ。間違った解答をするのはやめてほしい。
0239nobodyさん03/06/12 13:16ID:???
どのPerlのバージョンとプラットフォームでやって問題なかったか必ず書くこと。
それ以外でやってみてから言え。
0240nobodyさん03/06/12 13:34ID:???
>>235
ありがとうございます。
0241nobodyさん03/06/12 14:32ID:???
Perlは実行される命令毎に翻訳されるんでしょうか?
(実行されていない部分は翻訳されていない?)
それとも一旦スクリプト全体が翻訳されて実行されるんでしょうか?
require するライブラリなどはどの時点で翻訳されるんでしょうか?
(翻訳ってのは機械語に解釈って意味で使ってます)

処理の分岐がたくさんある場合にそれぞれサブルーチン化するんですが
これは外部にライブラリとして出した方がいいんでしょうか?
0242nobodyさん03/06/12 15:57ID:F+7kv9WZ
perlでSystem関数とOpen関数を実行させたくないのですが、どうすればいいでしょうか。
verは5.xだったと思います。よろしくお願いします。
024323603/06/12 16:58ID:???
>>238

ちょっと今そとなので、Perlのバージョンは5.*ということしかわからないのですが、
(プラットホームはコバルト)、
そういえば、lsコマンドをperlから実行できない設定になってました。
きっと、それと同じ理屈ですよね?
セキュリティポリシー的に、シェルコマンドをperlから実行できないようになってるという。
0244nobodyさん03/06/12 17:10ID:???
簡単なダウンロードCGIを作成しています。
巨大テキストから一部分を一つのCSVとして出力しています

ieで実行するとダウンロードダイアログが開くのですが
その時ファイル名が「〜.cgi」になってしまいます
この「〜.cgi」を任意に変えられないでしょうか?

具体的には
1.getcsv.cgi にアクセス
2.ダウンロードダイアログが開く
3.ダウンロードファイル名が「data.csv」になっている

のような事がしたいのです
0245nobodyさん03/06/12 18:13ID:???
>>244
スレ違いですので、お引き取りください。
0246nobodyさん03/06/12 18:50ID:???
掲示板に書き込まれたメッセージ内のURLに自動的にリンクを張るのはどういう構文を追加したらいいんでしょうか?
0247nobodyさん03/06/12 18:51ID:???
>>246
Perlメモ嫁
0248nobodyさん03/06/12 19:00ID:???
>>241
Perlは最初に全部を構文解析して、実行する。

useとrequireの違いでも調べてみればいいかな。
0249nobodyさん03/06/12 19:08ID:OAyD+tHP
レスキューさんの掲示板スクリプトを今までLinuxで
動作させていましたが、このたびWindowsXP+ActivePerl5.6.1-635
で動作させようとしましたが、いまいち変な動作で頭を抱えています。
スクリプトはTrees↓です。
http://www.rescue.ne.jp/cgi/trees/

変というのは、一見動作はするのですが、「新しい話題」で新規書き込み
をしようとすると、
「.は削除されていますので、コメントの投稿はできません. 」
というメッセージでエラーになります。
調べてみると、1340行付近の
if ($in{'resp_number'} ne '' && -s $in{'resp_number'}==0) { &error("File Not Found","$in{'resp_number'}は削除されていますので、コメントの投稿はできません."); }
の&&の後の条件でひっかかってしまうようです。
ちなみに、新規書き込みの時には$in{'resp_number'}の中には「.」のみが入っています。
ふつーのif文なのに、linuxで動作してActivePerlでNGなのです。
0250nobodyさん03/06/12 19:17ID:???
>>242
perl -M-ops=system,open -e 'open(IN, "<hoge"); system("ls")'

man Safe
man Opcode
man ops
0251nobodyさん03/06/12 19:23ID:???
>>249
ディレクトリを-sでチェックしてるから。 しかし、レスキューってへぼだなぁ。
0252nobodyさん03/06/12 19:40ID:???
>>244
ヘッダーで変える
025318803/06/12 19:46ID:???
>>188 ですが、
Pelrのバージョンは、5.00503で、
Apache/1.3.26 (Unix) でした。

>>243で自分が言ったことで、間違いないでしょうか?
0254nobodyさん03/06/12 20:26ID:???
>>241

>>248を補足。
Perlは疑似インタプリタ言語。
実行の度にコンパイルして実行すると言う手順を踏む。
従って、先にコンパイルしておく全ての言語と比較して低速になる。
0255nobodyさん03/06/12 20:28ID:???
>>253
「間違いない」と誰かに言ってもらわないと納得できないと。
0256nobodyさん03/06/12 20:29ID:???
>>242
意味がわからない。
openもsystemも使いたくなければ使わなければいい。

もし、>>242が鯖管だったとしたら、
その程度の能力しかなくて鯖なんか扱うなとマジで忠告する。
0257nobodyさん03/06/12 20:30ID:???
>>253
鯖の設定が怪しいのだと思ったら、その鯖の管理人に聞け。
ここで聞くことじゃあないだろ。
0258nobodyさん03/06/12 20:38ID:???
>>247
読みました。
$message =~ s/\n/<br>/g;
みたいな簡単な構文じゃ無理なんですね。
私にはまだ理解できそうにないです。
0259nobodyさん03/06/12 20:43ID:???
>>258
少々逆説的だが、
あれを読んで理解できないと匙を投げるくらいの動機しかないなら、
むしろはじめからやらない方がいい。
よって、やらないでいるのは結果的に正解。
0260nobodyさん03/06/12 20:51ID:???
>>259
さじを投げたのではなくて、もっと勉強しなければいけないな、と思ったという意味だったんですけどね。
なんかマイナスに解釈されたようですが、お気を悪くさせたようですみません。
0261nobodyさん03/06/12 20:55ID:???
>>260
わからないながらも使ってみてうまくいった、
とか言うのであれば、前言を撤回する。
0262nobodyさん03/06/12 21:03ID:???
>>261
どこにいれたらいいのかわからない、というレベルですからねえ。
0263nobodyさん03/06/12 21:37ID:xj4xPJ4f
>>251
-s 消しても同じ結果なんですが…。
0264nobodyさん03/06/12 22:01ID:???
>@newls2 = sort { $b <=> $a; } @newls2;
>return($newls2[0]); # 最高番号検出

さすがレスキュー・・・・
0265nobodyさん03/06/12 22:27ID:???
えーでも、
何個か数字があってその中から最高値を取り出せって言われたら
オレもソートさせちゃうけど・・・楽だし。
自分で、一個ずつ比較させる処理書いてもいいけど・・・
0266nobodyさん03/06/12 23:27ID:???
うん。sortはCで書かれてるから、(データ量に依存はするが)perlでちまちま比較するよか早いかも新米。
0267nobodyさん03/06/12 23:47ID:xj4xPJ4f
>>249
ActivePerl5.8.0最新版でもNGでした。
誰か、暇な方、試して頂けないですかね…
0268nobodyさん03/06/12 23:53ID:???
cgiを改造してくれるスレってなかったっけ?
0269nobodyさん03/06/12 23:54ID:???
すいません。
FlashCGIつかっているのですが、こっちと、トリプが合いません。
新サバではないとおもいます。。。
はじめの2文字って「H.」から何かに変わったんでしょうか?
0270nobodyさん03/06/13 00:03ID:???
>>267
もう回答は出てるので、お引き取りください。
0271nobodyさん03/06/13 00:10ID:???
>>266
そうか?1回のループでいけるだろ。ソートするよりマシ。
0272nobodyさん03/06/13 00:25ID:???
>>269
変わってません。スレ違い。
0273nobodyさん03/06/13 00:27ID:???
>>272
そんな、ちょっとまえにローカルでしたときは変わってなかったのに、いまやると変です。。。なぜでしょうか
0274nobodyさん03/06/13 00:28ID:???
数値の大小を比較する演算子をきみたち初心者諸君に授けるぞよ。

A > B  ←これはAが大きいと真をかえすのだ

0275nobodyさん03/06/13 00:35ID:nrl/A00g
“ヘ( ̄- ̄ )カモォーン♪
http://www.k-514.com/
0276nobodyさん03/06/13 00:41ID:???
その1回のループをまわすためにインタープリターがどれだけ働くかと...
実際のところは計測しなきゃわからないが。
0277nobodyさん03/06/13 00:44ID:???
Perlは逐次解析するわけじゃないし・・・
0278nobodyさん03/06/13 00:58ID:???
インタープリターとか言ってるあたりが初心者スレだな
0279nobodyさん03/06/13 01:16ID:???
>>276
何行ってんだ?ソートすると何度もコピーが行われるだろ。
最大値抽出ごときでソートするなんてとんでもない。
0280nobodyさん03/06/13 01:49ID:???
foreach(@num){
$max = $_ if($_ > $max);
}
これが一番早くてメモリも使わず?
0281nobodyさん03/06/13 01:57ID:???
$max の初期値は?
0282nobodyさん03/06/13 02:08ID:???
負も考えて@numの第一要素でもぶちこめば?
0283nobodyさん03/06/13 02:12ID:???
>>278
はて? perlgutsにもperlembedにもinterpreterと書いてあるが何か?

>>279
こういう恣意的なデータも取れるんだよ。
use Benchmark;
@ar = (1 .. 5);
timethese(10000, {
sort => '@br = sort { $b <=> $a; } @ar',
loop => '$max = $ar[0]; for (@ar[1..$#ar]) { $max = $_ if ($_ > $max);}'
});
Benchmark: timing 10000 iterations of loop, sort...
loop: 2 wallclock secs ( 2.23 usr + 0.01 sys = 2.24 CPU)
sort: 3 wallclock secs ( 1.98 usr + 0.00 sys = 1.98 CPU)
0284nobodyさん03/06/13 02:19ID:???
必 死 だ な
0285­03/06/13 08:01ID:???
print "location: ***" で飛ぶとリファラは残りますか?
0286nobodyさん03/06/13 08:01ID:???
1回余分にチェックするほうが、スライスするより安くすむと思うが。。。
0287nobodyさん03/06/13 09:29ID:???
>>241さんの質問に関連してお聞きしたいのですが。
外部ファイルにして、requireするにせよ、useするにせよ、
perlは、皆コンパイルするということなんですが、
以下のようにするより、

use Hoge;
if (...) {
 kore; # koreはmainの関数
} else {
 are; # areはHoge.pmの関数
}

以下のようにした方が負担が減るということでしょうか。

if (...) {
 kore;
} else {
 use Hoge;
 are;
}

028828703/06/13 10:01ID:???
ごめんさい。1回限りしか、この部分が実行されないことが
前提です。そして、ifになる確率が50%はあるとして。
0289nobodyさん03/06/13 10:19ID:???
>>287
useの場合は一緒じゃない?
requireなら、そうやったほうがいい。(require文が実行された時点で読み込むから)
029028703/06/13 10:31ID:???
そうだったっす。requireですた。
うん、こういうの書いた覚えあるんで、正しい判断だったんだと
わかってほっとしますた。
0291nobodyさん03/06/13 11:18ID:???
>>284 必死だな。これくらいのインチキも見破れないのか。(w

-----BEGIN PGP MESSAGE-----
Version: PGP 6.5.8ckt - ja http://www.hizlab.net/pgp/

qANQR1DDDQQDAwKzdZAaYlhVL2DJvuMRq1Krlrlnei+qaIGlODje1KRbdRDVTD1/
h7dQ6RfnS3GkGv2RNdvpZgVvgQqkSXcM3N8o9AkvtrmRtO3BsJJ1id5RArQwjmEE
kVXhF6Y5HdeQfOOTRjTMV2kS0i27sza8Gv+g+uFFTozzmsJ2ffbmrUi/K4MjsNnN
yh/mrKF/MkenFZqjnQobAHmjqzYxj8VMyx31Ar1GM4g/2UiEtAErfz//cJCJ0zsB
akVGj67i/wWnQoZgYVxe1sSyT/0=
=+BHl
-----END PGP MESSAGE-----
0292nobodyさん03/06/13 11:41ID:???
Perlでwordファイルを検索することってできますか。
Namazuの仕組みを調べればいいんでしょうが、もっと簡単に
モジュール組み込んで、テキストファイル検索するみたいに、
バリバリ、正規表現検索がしたいのれす。
なにか情報の載っているサイトでもいいですから教えてくらはい。
0293nobodyさん03/06/13 12:41ID:1CoOWAYz
質問です。

CGI.pmはmultipart/form-dataで送られたきたデータを受け取ると、
即座に一時フィルを作成するようなんですが、
このファイルを削除するか、ファイルを作成しないようにする方法はないですか?
0294nobodyさん03/06/13 12:50ID:???
>>292
Wordファイルの仕組みを調べれば、簡単じゃないことが分かるよ。
とりあえずバイナリエディタで開いてみ。
Namazuを使いたいってことなら、wordファイルからテキスト部分を抜き出して
インデックス作ればいいからそっちのやり方だと簡単かも。

>>293
全然CGI.pmの中身も見ずに反応するけど、
最後にファイル削除されないの?
ファイルを作成しないってことはメモリに全部蓄えるつもり?
予測可能なファイル名になっちゃうのなら問題だろうけど、
予測不可能なファイル名になってない?

0295nobodyさん03/06/13 13:24ID:???
初心者諸君よ! ベンチマークの採り方もお勉強しよう。

use Benchmark;

$count= 100;
@array= (0 .. 5000);

timethese($count, {
'code1'=> q{
    $max= $array[0];
    for (1 .. $#array){
        $max < $array[$_] and $max= $array[$_];
    }
},
'code2'=> q{
    @array2= sort {$b <=> $a} @array;
    $max= $array2[0];
},
'code3'=> q{
    $max= (sort {$b <=> $a} @array)[0];
},
'code4'=> q{
    ($max)= sort {$b <=> $a} @array;
}});
0296nobodyさん03/06/13 13:43ID:U7lWej0V
☆セクシーヌードを生クリック☆! 〜まずは無料です〜
http://endou.kir.jp/moe/linkvp.html
0297nobodyさん03/06/13 14:45ID:???
>>292
ActivePerlならWin32::OLEで、WordファイルをCOMオブジェクトとして開けば、
Wordオブジェクトのメソッドを呼び出せる。

ActivePerlじゃないならOLE::Storageで頑張る。
029829203/06/13 16:14ID:???
>>294
wordファイルをバイナリエディタで開いて解析しようとしたが、
ちょっと漏れには無理だと悟って聞いたのです。大分前の話。
word2txtでwebを漁ってもぱっとしなかったし・・・
Namazuは、wordファイルも検索するって知ってる?つまり、
テキスト部分を抜き出すエンジンを備えているんじゃないかなぁ。
調べてみます。

>>297
うーん、ちょっとOLE::Storage見てみたけど、難しそうです。
Win32::OLEとかこれ使って、川合さんや極悪さんがExcelファイルを
簡単に扱えるモジュール書いてくれているんですが、やはり、word
は難しいんでしょうね。


0299nobodyさん03/06/13 17:49ID:???
>>294
> >>293
> 全然CGI.pmの中身も見ずに反応するけど、
> 最後にファイル削除されないの?
> ファイルを作成しないってことはメモリに全部蓄えるつもり?
> 予測可能なファイル名になっちゃうのなら問題だろうけど、
> 予測不可能なファイル名になってない?

それが、削除されないんですよ。
new CGIした時点で一時ファイルが作られて、
exit(0) or dieしても消えないんですよ。
どんどんファイルが増えていくのはちと問題ありかと。
0300nobodyさん03/06/13 18:16ID:???
>>299
サーバがUNIXなら対応法はman CGIすりゃ書いてある。
0301nobodyさん03/06/13 18:18ID:???
>>299
その現象Windowsではなるよね
アップした際のファイルのファイルハンドルが開きっぱなしなのが原因

$q = new CGI;
$upfile = $q->param('upfile');
$tmpfile = $q->tmpFileName($upfile);#一時ファイル名取得CGItemp12345みたいな

〜処理〜

eval{close($upfile);}; #一応ファイルハンドル閉じる
unlink($tmpfile); #一時ファイル削除
■ このスレッドは過去ログ倉庫に格納されています