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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん04/03/01 02:46ID:1GeWO7LH
いらっしゃーい、Perlのコーディングで困ってる人のスレです。

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

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

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

過去ログやお勧めサイトは >>2-10
0116nobodyさん04/03/03 19:17ID:JGcO0sWg
質問でつ。

$hash{$key}{'このキー'};

上のような連想配列で 'このキー' のキーの一覧を得るには
どうすればよいのでしょうか?
よろしこ おながいします。
0117nobodyさん04/03/03 19:39ID:???
>>116

keys %{$hash{$key}}
0118nobodyさん04/03/03 19:57ID:???
>>95
my $cnt = 0;
open(IN_FILE, "xy-data.dat") or die $!;
while(<IN_FILE>){
my ($x, $y) = /(\d+)\D+(\d+)/;
( *円内側の領域を表す式* ) and $cnt++;
}
close(IN_FILE);
print $cnt;
exit;

>>101
ファイルハンドルが参照しているファイルの位置
(ファイル先頭からのバイト数)。

>>104
$from = "test <[email protected]>";
0119nobodyさん04/03/03 19:57ID:???
>>117
おお、有難う御座います。
0120nobodyさん04/03/03 20:46ID:???
>>115
いつまでもスレ違いの話題するな。
perl以前にsendmailについて勉強しろ。
0121nobodyさん04/03/03 21:55ID:???
>>118
> $from = "test <[email protected]>";

@はエスケープしろよ

$from = "test <test\@example.net>";
0122nobodyさん04/03/03 22:13ID:???
>>120のリアル厨房よ
分からないのなら黙ってろよ(w
0123nobodyさん04/03/03 22:19ID:???
>>122
じゃ特別に教えてやるよ。
sendmail -tやめてsendmail -bsでSMTP叩けばFrom: testで出せるよ。
馬鹿には使いこなせないだろうけどな。
012411804/03/03 22:50ID:???
>>121
失念してました。

その上、元の質問はfromを詐称したいって話だったのね…。
吊ってきます。
0125nobodyさん04/03/03 22:58ID:???
>>123
分かんのなら初めっから素直に答えとけや(w
その方法はしらねーけど、設定によってだけどほとんどのとこで使えないぞwww
使えねえ答えでは意味が無い
0126nobodyさん04/03/03 23:16ID:???
>>125
大抵は使えるはずだ、つーか、これを禁止する設定は知らん、多分無いだろう。
お前には使いこなせないだろうがな。
0127nobodyさん04/03/03 23:20ID:???
>>126
もうバカは相手にすんなって
ほっとけばいなくなるから
0128nobodyさん04/03/03 23:34ID:???
>>125のI.Qを測る関数ってありますか?
0129nobodyさん04/03/03 23:38ID:???
>>128
sin()
0130nobodyさん04/03/04 00:19ID:uAtEzihH
>>125
>設定によってだけど

何と言うか、頭悪そうな発言だな。
「この鯖にはsendmailを入れてはいけない設定になっております」
こういうのでも納得しそうな>>125を晒しage
0131nobodyさん04/03/04 00:38ID:???
>>128
測るまでも無いほどIQ低いよ
0132nobodyさん04/03/04 00:40ID:???
>>128
iq();



sub iq{ return 0;}
0133 ◆gperlqJurM 04/03/04 01:37ID:???
test
0134nobodyさん04/03/04 02:00ID:WZx4Ntes
perlプログラムから、Webサーバにアクセスしてhtmlを
取得したいと考えています。
どのモジュールを使うのが一番手っ取り早いですか?

一応探してみて、LWPというのがよさそうだと思ってます。
http://member.nifty.ne.jp/hippo2000/perltips/LWP.html
0135nobodyさん04/03/04 02:13ID:???
http://www.cj-c.com/cgi_s/access.htm
ReverseAccess

http://saya.kiy.jp/cgi/ftlink.html
このCGIは「CJ-Clubさんの ReverseAccess 」を改造したものを再配布条件に基づき再配布しています。

上記の本家版だとserverステータスで "cgiヘッダーが出力されない" が出ます。
下の改造バージョンだと正常に動作します。
スクリプト構造の一番の違いはjavascriptで外部表示出来るか否かです。
元スクリプトのバージョンも違うので一概に言えません。
環境は
XPpro
04server
perl
です。

本家スクリプトもとりあえず動作はしますが一定時間がたつとログがリセットします。
下の改造版だとすべて正常に動作します。

原因が分からず困っています。
助言をお願いします。

0136nobodyさん04/03/04 02:16ID:???
>>135
作者に聞いて。
それにここはそういう質問のスレじゃないので。
0137nobodyさん04/03/04 02:23ID:???
サブルーチンの中から__DATA__や__END__を<DATA>で読もうとすると
Can't call method "****" without a package or object reference
と言うエラーが出ますが、どうすれば出なくなるのでしょうか。
0138nobodyさん04/03/04 02:28ID:SI8u2VDD
>>134
で?
0139nobodyさん04/03/04 02:38ID:???
>>137
君の言う通りなら以下のスクリプトでエラーが再現する筈だが。

#!/usr/local/bin/perl
sub read_data { print <DATA> }
read_data();
__DATA__
foo bar baz

エラーメッセージをよく読もう。
0140nobodyさん04/03/04 02:44ID:???
>>137
間違って書かなきゃ別に出ないけど。
どうやって書いてエラーにしてるわけ?
0141nobodyさん04/03/04 03:02ID:???
output{
  print "Content-Type:text/plain;charset=UTF-8\n\n";
  defined(<DATA>) ? print <DATA> : print '';
}

....

output();

__END__

(文字)

#-------------------

と、このようにしています。
サブルーチンの外に出せばエラーは出なくなります。
また、Can't call method 〜 と同時に他のエラーが出ることもありません。

テスト環境は Win2K + Apache2.4.08 + ActivePerl5.8 です。
0142nobodyさん04/03/04 03:09ID:???
>141
sub output {}
#書き込み時ミス
0143nobodyさん04/03/04 03:11ID:???
と思ったらスクリプトのミスでした(「sub」忘れ)。
お騒がせしました……。

#まさかポカミスで一日悩むとは。
0144nobodyさん04/03/04 03:30ID:???
> defined(<DATA>) ? print <DATA> : print '';

この書き方に一体何の意味があるのだ?
print <DATA>;だけと同じだろうよ
まあ質問用に書いたのかもしれないが
0145nobodyさん04/03/04 03:47ID:???
>>144
defined(<DATA>) ? print <DATA> : print '';
はバグっぽいが、わかってないのはバカっぽいな。
0146nobodyさん04/03/04 03:53ID:???
それは何と言うか、色々やっていた時の名残です。
ここに書く時直前では
(略):print 'nodata';
とか書いてたので中を消してそのまま出してしまいました。
0147nobodyさん04/03/04 04:10ID:???
defined で1行目読んで、print してるのは2行目なんだけど。
書きミスじゃなくて、バグっぽい。
$/ = undef; なんてやってたら、はまりそ。
0148nobodyさん04/03/04 04:23ID:???
言ってる意味が今解りました。
実は __END_ _直下の行が消えるのは何故だろうかと疑問に思いつつ
そう言うものなのだと思ってました。

と言う事は、__END__ 以下があるか無いか調べるにはどうしたら良いのでしょうか。
0149nobodyさん04/03/04 05:16ID:???
>>148
__END__ 以下に何が書いてあるかプログラマが把握できない
状況というのは健全でない気がするが。

単純にやるなら
if (my @data = <DATA>) { ... } else { ... }
なり
local $/ = undef;
if (length(my $data = <DATA>)) { ... } else { ... }
なりご自由に。
0150nobodyさん04/03/04 11:13ID:???
defined(my $data = <DATA>) ? print $data : print '';
0151nobodyさん04/03/04 12:42ID:FGoSTbqM
どうも昨日違うスレで質問して怒られたのでこちらに移動します。

perlをインストールしてソースを書いてブラウザに表示させたところ
ソースコードがすべて出てきてしまいました。#!usr/local/bin〜__END__まで
すべて表示されました。

単刀直入にいってどの部分がおかしいとこういう現象になるんですか?自分ではどこがわるいのかわかりません
0152nobodyさん04/03/04 12:45ID:???
>>151
AddHandler cgi-script .cgi
0153nobodyさん04/03/04 12:49ID:???
>>151
ローカルで動かせる環境ってことだよな。
OSがMIMEタイプを誤認識してtext/plainになってるとか。
もしくは、ちゃんとttp://localhost/とかでアクセスしてる?
まずインスコはちゃんとできてるかを確認するために、
コマンドラインを叩いてみることを勧める。
015415104/03/04 12:54ID:???
>>152
どうもありがとうございます。その解説部分の#はちゃんとはずしてあります。

>>153
私にはちょっとむずかしそうですが、パソコンはいじってないのでtext/plainとかには
なっていないように思います。localhost/sample.cgiとしてアクセスしていますし、ドキュメントルートにちゃんとファイルは置いています。
コマンドラインでも確かめてみようと思います。親切にありがとうございました。
0155nobodyさん04/03/04 13:23ID:???
質問させてください。

readdirでファイル名一覧を取得した場合、
必ず「.」「..」は最初の二つに出てくるものなんですか?
例えば、取得したファイル名を配列に突っ込んだ後でファイル名を取り出そうとする場合、
配列の添え字は[2]からアクセスすれば問題無いですか?
自分の環境では問題無いのかもしれませんが、
他の環境でもこのような「.」「..」のものも必ず取得するのでしょうか?
0156nobodyさん04/03/04 13:54ID:???
>>155
サブディレクトリには必ず存在するもの。(ファイルシステムによるが)
ファイル名を取得する際、「.」と「..」なら無視するようにしてみては。
015715104/03/04 14:02ID:???
perlのヴァージョンを調べようと思い、コマンドラインからperl-vとうってみたんですが
ダメでした。パールのパスはインストール時にちゃんととおってました。

windows2000を使っているんですが、インストーラをヴァージョン2にしてから、
パールをインストールしたんですが、やたらインストールに時間がかかったので、
うまくインストールできてないんでしょうか?

だれか分かる人がいたら教えてください。よろしくお願いします。
0158nobodyさん04/03/04 14:05ID:???
>>154
ドキュメントルートのOptionに+ExecCGIがないとかでは?

>>155
先頭が「.」なファイルも除外していいんなら
my @filelist = grep( /^[^.]/, readdir(DIR) );
とか。ディレクトリを省きたいっつーんなら
my @filelist = readdir(DIR);
foreach (@filelist){
next if( -d );
#処理
   }
とかがお手軽。
0159nobodyさん04/03/04 14:07ID:???
>>157
「 perl[半角スペース]-v 」だぞ?
まず入れたPerlの入手先とかはどこだ?
Activestate?
コーディングスレだとスレ違いっぽくなってきたのだが。

△▲ WebProg 初心者の質問 Part7 ▼▽
http://pc2.2ch.net/test/read.cgi/php/1073460282/

こっちに移動しとくと叩かれないかも。
0160nobodyさん04/03/04 14:18ID:???
>>158

>>155です。
ファイルテスト演算子の-dを忘れていました。
next if (-d);
を利用しようと思います。
ご親切に有難う御座いました。
016115104/03/04 15:17ID:???
>>159
半角入れたらできました。。

どうもすれ違いなようですので、教えてくださったスレに移動しようと思います。
ありがとうございました。
0162nobodyさん04/03/04 20:05ID:???
>149-150
ありがとうございます。
外のファイルに出してる方が確かに良いのですが、
どうせ数行程度の文しか使わないような感じなので
態々外のファイルを読むよりも中に書いて置こうという事になったのです。
0163nobodyさん04/03/04 23:52ID:???
>>155
FATのルートには"."と".."は無い。
0164nobodyさん04/03/05 00:13ID:???
>>155です。

>>163
情報ありがとうございます。
開発環境がWin2000と2003 Serverなので、当分問題は無いでしょうけど、
その辺も考慮してコーディングしていきたいと思います。
わざわざレス感謝です。
0165nobodyさん04/03/05 01:12ID:???
ところでさ、俺、perl経験はあんまなくて、
win98でActivePerl使ってて、ダブルクリックでpl動かしてるんだけど、
コンパイルエラー行を出す時、
他のファイルに

open FILE, 'エラーファイル名';
while(<FILE>){
$aaa .= $_;
}
eval $aaa;
print "$@ \n";
sleep(10);

ってな記述してエラーメッセージ出してんだけど、
これって非常識?
もっと手っ取り早いやりかたあんのかな?
0166nobodyさん04/03/05 03:00ID:???
普通はコマンドプロンプトを起動させて「perl hoge.pl」
エディタで起動させて同時にカレントディレクトリを移動させたりすれば便利
0167nobodyさん04/03/05 03:04ID:ReR1r8Jb
>>165
いまいちなにがしたいのかよくわからないけど、
スクリプトの文法チェックならperl -c hoge.plで可能。
0168nobodyさん04/03/05 03:41ID:???
なんと、あの記述はコマンドめんどくさいってアホな理由から生まれたのです!
俺の根性がびーーーん。

エディタで起動ってなんのエディタだろう??
無知ですんません。

>>167
>いまいちなにがしたいのかよくわからないけど、
単にダブルクリックしたいだけです。エッヘン!
016916804/03/05 03:48ID:???
>エディタで起動ってなんのエディタだろう??
あ。意味分かった。
今までperlをエディタから起動した事なかったf(^_^;)

0170nobodyさん04/03/05 03:59ID:ReR1r8Jb
コマンドめんどくさいだけの理由で変な我流の書き方すんのはやめておいた方がいいよ。

俺はEmEditor使ってるけど、エディタから直接ボタン一個でプロンプト起動して
自動で走らせるようにしてある。この方法だとdieで終了しても閉じないから
エラー内容もちゃんと見れる。
0171nobodyさん04/03/05 04:27ID:???
>>170
ありが�d!
俺も秀丸からボタン一つで新規秀丸ファイルに出力されるようにしてきた。
evalしてた俺ってなんて馬鹿MAXなんだろう。。。_| ̄|○

0172nobodyさん04/03/05 07:21ID:???
ヴぁかMXA
0173nobodyさん04/03/05 13:13ID:???
なんでわざわざファイルに出すんだろう…
0174nobodyさん04/03/05 23:51ID:yEaLcmjc
変数名の文字列を知る方法を教えてください。
$test=1
だったら、
$hoge{'test'}=1
にしたいのです。「test」の部分は未知の場合にどうやったらいいかわかりません。
よろしくです。
0175nobodyさん04/03/05 23:59ID:???
>変数名の文字列を知る方法

Perlソースは読めるから 未知な場合がどういう場合なのか・・・
0176nobodyさん04/03/06 01:52ID:???
例:

  @pairs = split (/&/, $buffer);

  foreach $pair (@pairs) {

    ($name, $value) = split(/=/, $pair);

    $FORM{"$name"} = $value;

  }

0177nobodyさん04/03/06 01:57ID:???
BBS系の使い方だな。
0178nobodyさん04/03/06 09:33ID:???
このあいだperlを始めてようやく自力で掲示板を作れるようになりました。
次のステップとして
たとえば、発言一覧などをいちいちアクセスされるたびにCGIがHTMLソースを吐くようではサーバに負担が掛かるので
発言一覧のような閲覧頻度の高いものはHTMLファイルに出力して変更があった場合更新するようにすれば負荷が軽減されるように思うのですが
他のスレで

146 名前:nobodyさん 投稿日:2004/03/04(木) 01:31 ID:???
なんでHTMLへ書き出したいんだ?
メリットだけじゃなくてデメリットもあることを承知の上でか?

と言うような書き込みを見つけました
具体的にデメリットとしてはどのようなことが挙げられるでしょうか
0179nobodyさん04/03/06 09:43ID:???
>>178
cookieとか使ってた場合、HTMLにすると意味がなくなるからな。
JavaScript使えばできないことはないが、切られるとどうしようもないしな。
0180nobodyさん04/03/06 10:16ID:???
>>178
次のステップとして自力で作った掲示板スクリプトを他人に評価してもらうのがいいぞ。

もう廃れてしまったスレだがな。
自作CGIを評価するスレ
http://pc2.2ch.net/test/read.cgi/php/1049514428/l50
0181未承諾広告※ ◆TWARamEjuA 04/03/06 11:14ID:???
>>176
1 行にしてみるてすと
%FORM = map { (split /=/)[0,1] } split /&/, $buffer;
0182nobodyさん04/03/06 14:15ID:???
>>178
HTML書き出しのデメリット
 設置できる条件が厳しくなる(CGIディレクトリに置いたHTMLへアクセスできないとダメ。とかね)
 リアルタイムに更新されない(だれかが書き込むまでずっと「最新」マークが表示されっぱなし。とかね)

まぁ、掲示板の場合はそれ以上にメリットはあるよ。
全部HTMLな掲示板つくってみたけど、表示負荷をあまり考慮しなくて済むからかなり無茶ができる。
0183nobodyさん04/03/06 14:35ID:???
ファイルハンドルが存在するかしないかを調べるにはどうしたら良いのでしょうか。
というか、ファイルが既に開かれているかいないか、の方が
自分の考えてる事にニュアンスが近いです。
0184nobodyさん04/03/06 15:56ID:???
tell(FH) >= 0

これで
0185nobodyさん04/03/06 19:36ID:???
>>181
%FORM = split /[&=]/, $buffer;

まぁ実用的なコードほどこんなハッタリじみた事はせず、
堅実にサニタイズしているもんだがな。

>>183
http://perldoc.com/perl5.8.0/pod/func/fileno.html
0186nobodyさん04/03/06 22:13ID:???
質問です。
my変数を使うことのメリットって何ですか?
グローバル変数だけだと不具合とかってあるんですか?
0187nobodyさん04/03/06 22:16ID:???
大きなコードになるほど重要性が増してくる。
複数人での開発になったら必須。
最大のメリットは保守性。
0188nobodyさん04/03/06 22:29ID:???
>>186
いつかあなたにもmyの必要性がわかるときが来るよ。
0189nobodyさん04/03/06 22:33ID:???
>>186
myもしてないコードって読めたもんじゃないよ
基本は、処理はことごとく関数化して変数は全部myする姿勢で。
0190nobodyさん04/03/06 22:56ID:???
スクリプトがでかくなると特に重要やね。
あまり大きくなく保守が楽な規模のものでも、
例えばブロック毎に変数名使い回せるとかいうのは
日曜すくりぷたな人にとっても結構嬉しい事なんじゃないだろうか。

まあ使って損は無いし(あっても得の方が大きい)
特に理由が無い限りmy宣言はした方が良いと思うよ。
0191nobodyさん04/03/06 23:01ID:???
「特に理由が無い限り」どころか「特殊な事情が無い限り」使うべきだと思うが。< my
あ、use strictと組み合わせること前提ね。
0192nobodyさん04/03/06 23:57ID:???
use strictの無いPerlスクリプトなんて金玉の無い男みたいなもんだ。
0193nobodyさん04/03/07 00:15ID:???
>>186です。
色々なご回答有難うございました。
どうやら金玉の無い男みたいですので、もう少し色々と勉強してみます。
0194nobodyさん04/03/07 01:08ID:???
ちょっと質問です
ディレクトリのリネームをしたいんですが、CGIを実行するディレクトリのリネームってできないんでしょうか?
例えば
http://hoge.com/aaa/rename.cgi
というのを実行して
http://hoge.com/bbb/rename.cgi

といったようなリネームがしたいんですが・・・
rename関数でもFile:copy moveでも無理でした

何かいい方法があればお願いします
0195nobodyさん04/03/07 01:16ID:???
一度通る事を確認したら僅かな負荷を気にして
useしないようにするという場合もありそうな気がしますが、
チェック時だけではなく常にuse strictする理由って何かありますか。
例えば、局所変数のチェックをするついでに何かしらのエラーチェックをしてくれるとか。
0196nobodyさん04/03/07 01:42ID:???
>>179
>>180
>>182
ご回答ありがとうございました
誰かが更新しないと更新されないというのは重要なポイントですね。
0197nobodyさん04/03/07 02:15ID:???
>>194
#!/usr/local/bin/perl
use strict;
(my $now_dir = $ENV{'SCRIPT_FILENAME'}) =~ s|/[^/]+$||;
(my $base_dir = $now_dir) =~ s|[^/]+$||;

print "Content-Type: text/plain\n\n";

$ENV{'QUERY_STRING'} =~ /^(\w+)/;
length $1 or error('No assigned new dir name.');
my $new_dir = $base_dir . $1;
-e $new_dir and error("$new_dir already exists.");

chdir $base_dir or error($!);
rename $now_dir => $new_dir or error($!);
chdir $new_dir or error($!);
print 'ok.';

sub error {
  print "Not changed: @_";
  exit;
}

>>195
http://perldoc.com/perl5.8.0/lib/strict.html
0198nobodyさん04/03/07 02:36ID:???
>>197さん
どうも素早い返信ありがとうございます〜
さっそく試してみたいと思います

それにしてもchdir使えばいけるとは・・・思いもつきませんでした
危うくcpでフォルダ全コピーして削除する方法をするとこだったし
0199nobodyさん04/03/07 05:46ID:???
モジュールの話かコーディングの話か良くわからなかったのでこちらに。

例えば、JcodeのOOは
 Jcode->new(\$str)->utf8;
の様にすれば良く、これは
 $char = 'utf8';
 Jcode->new(\$str)->$char;
でも良いようなのですが、
 %char(UTF-8 => 'utf8');
 Jcode->new(\$str)->$char{'UTF-8'};
のようにハッシュを使うと構文エラーと言われます。
ハッシュを使うにはどうすれば良いのでしょうか。
0200nobodyさん04/03/07 10:57ID:???
>>195
実行時チェックはシンボリックリファレンス(${'var_name'}のようなやつ)の禁止だけなので、
厳密にいうとデバッグがすんだらuse strict 'refs'のみにしてもかまわない。
が、本当に些細な負荷でしかない(しかも、コンパイル時チェックなので実行速度には影響しない)ので
敢えてそこまでする意味はない。っつか、黙ってuse strictしとけ。

>>199
$enc = $char{'UTF-8'};
Jcode->new(\$str)->$enc;
または
Jcode->new(\$str)->${ \$char{'UTF-8'} };

しかし意味も無くメソッドを変数にするのはお勧めできない。読み難い。
Jcode::convert(\$str, $char{'UTF-8'})とするのが普通だと思うぞ。
0201nobodyさん04/03/07 11:19ID:???
>>196
イメタグでCGI叩かせて、必要なら更新するという方法もある。
0202nobodyさん04/03/07 11:50ID:???
>201
HTMLで出力している意味をわざわざ遠回りしてまで殺して何の意味が?
020318204/03/07 13:04ID:???
>>196
リアルタイムに更新されない。と考えるとデメリットだけど、
リアルタイムに更新されなくて済む。と考えるとメリットになる。

メリットとして生かせるつくりにすることが重要。
0204nobodyさん04/03/07 15:18ID:hh7UC8Wb
質問です。
Win2000にActive Perl ver 5.8.3を入れています。
flockの使用可否について調べているのですが、

$file = "data.dat";
open(OUT,"<$file");
eval { flock (OUT,2); };
if ($@) { warn "flock NG"; } else { print "flock OK."; }

こう書いてコマンドラインで実行すると、必ずOKと出力されます。
これってevalの使い方あってますか?
また、Winってflock効くのでしょうか?
0205nobodyさん04/03/07 15:43ID:???
ありがとうございます。

>200
そうだったのですか。
Jcodeのマニュアルに Jcode->new(\$str)->euc; のやり方のほうが良い、
みたいな事を書いてあったので変更しようとしていたのです。
0206こば04/03/07 16:33ID:E9jZV2PD
こんにちわ 質問です。

以下の二つの違いを教えて頂けないでしょうか?
print "<FONT size=\"5\">\n"; #ダブルクオート入り
print "<FONT size=5>\n"; #ダブルクオートなし
0207nobodyさん04/03/07 16:36ID:???
>206
HTMLの事をなぜここで聞く?
0208nobodyさん04/03/07 16:37ID:???
HTMLの書きかた。
極めてスレ違いでござる。
0209nobodyさん04/03/07 16:39ID:???
いや、板違い。
0210こば04/03/07 16:49ID:E9jZV2PD
失礼しました。
0211nobodyさん04/03/07 17:48ID:???
>>204
Win2000なら有効
0212nobodyさん04/03/07 17:53ID:???
>>202
大部分のアクセスはstatするだけだから、データ作り直すより速い。
0213nobodyさん04/03/07 19:18ID:???
下記のようなパールスクリプトをtaintモードで動かしたいのですが、
どうしてもサーバエラーになってしまいます(デバッガで見ると
「Too late for "-T" option at copy.cgi line 1.」と出ます)。

#!/usr/bin/perl -T

$a_dir = '../a/data';
$b_dir = '../b';
system("cp -r $a_dir $b_dir");

内容としては、あるディレクトリを丸ごとほかのディレクトリに
バックアップするような ものなのですが、
taintモードで動かすこと自体が不可能なのでしょうか?
もしくはどうすればtaintモードで動くでしょうか?
0214nobodyさん04/03/07 20:04ID:hh7UC8Wb
>>204
鯖として運営してるマシンで、いまどきflockを効かせないようにしてる鯖ってあるんか。
0215nobodyさん04/03/07 20:05ID:hh7UC8Wb
>>214
失礼、>>204に対して納得したってことで。
俺=>>204ね。
■ このスレッドは過去ログ倉庫に格納されています