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

Perlコーディング初心者質問スレ Part 58

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2008/08/06(水) 22:54:32ID:???
Perlのコーディングで困ってる人のスレです。

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

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

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

お勧めサイトは >2 以降

前スレ http://pc11.2ch.net/test/read.cgi/php/1203935151/
過去ログ倉庫 ttp://user.ftth100.com/mirrorhenkan/perl/
0082nobodyさん2008/08/24(日) 04:03:35ID:???
>>80
decoded_contentが一番楽っぽい。
gzip/deflateにも対応してるみたいだし。

$r->is_success or die $r->status_line;
my $content = $r->decoded_content();
defined $content or ...;

utf8で出てくるから、あとは適当に変換で。
0083802008/08/25(月) 20:08:13ID:???
>>81
文字化けするページは一部文字化けしている場合が多いですね。
もともとそのページに問題があるのかも知れません。
>>82
そんな方法あったんですね、初めて知りました…。
近いうちに試してみようと思います。

返信ありがとうございました。
0084nobodyさん2008/08/27(水) 11:11:12ID:???
Web上で動作するToDoリスト(http://img04.shop-pro.jp/PA01011/131/product/2544732.jpg)を作りたいのですが、
自分で内容を追加していくといった物ではなくて、既存のHTMLにチェックボックスがあり、
そこにチェックを入れ、「保存する」ボタンを押したら、ログファイルにチェックされているか否かを保存し、
更新後にチェックされている状態が保存されている物を作りたいのですが、このような処理はどのようにしてやれば良いのでしょうか?
最終的には自分でToDoの内容も掲示板みたく追加出来るようにしたいです。
0085nobodyさん2008/08/27(水) 12:03:04ID:???
Queryデータ受け取って条件分岐してデータ読み書きしてHTML表示すればいいんじゃないかな
0086nobodyさん2008/08/27(水) 15:59:09ID:???
既存のHTMLってのがどの程度のものかわからないが、cgiにそれを出力させる必要がある。
外部のものなら、パーサーで解析してチェックボックスを割り込ませて出力、とかいうことになるんじゃないか。
この作業が一番めんどくさい。
0087nobodyさん2008/08/27(水) 19:52:46ID:???
古い本読んでたら、cgi-lib.plとかいうのが
紹介されていたんだけど、これって現役?
0088nobodyさん2008/08/27(水) 20:00:37ID:???
既に退役。
0089nobodyさん2008/08/27(水) 20:35:39ID:???
まじで。じゃあどうすればいいのかな?
0090nobodyさん2008/08/27(水) 20:45:09ID:???
別に使ってもいいんじゃね
0091nobodyさん2008/08/27(水) 21:02:23ID:???
CGI.pmが最新ですか?
0092nobodyさん2008/08/27(水) 21:25:25ID:???
CGI.pmが標準。いささか古いが。
お好みでCGI::MinimalでもCGI::Simpleでも。
0093nobodyさん2008/08/27(水) 21:49:46ID:???
引数の取得は自前でするのが一番軽いから自前でというのは外道ですか?
車輪の再発明?
0094nobodyさん2008/08/27(水) 22:34:42ID:???
やれるんなら自前だってなんだっていいさ。
トレーニングのための再発明にゃあ手頃な車輪だろ。
よそに迷惑かけないようにさえすりゃ誰も止めねえよ。
0095nobodyさん2008/08/28(木) 10:53:23ID:???
クエリの分割は、RFCの決まりとブラウザの仕様で面倒なことになっているので、
CGIやCGI::Liteやフレームワークに丸投げした方がいい、と昔Perlスレで言われた
0096nobodyさん2008/08/28(木) 16:12:26ID:???
CGI.pmと
CGI::Minimalと
CGI::Simpleとで、

どれを使えばいいの?
0097nobodyさん2008/08/28(木) 16:28:55ID:???
とりあえずCGI.pm
0098nobodyさん2008/08/28(木) 20:19:56ID:???
勉強を目的に作る分には何も言わないが、
実際のサービスの為に作りこむのはアンチパターンの"高慢"。
0099nobodyさん2008/08/28(木) 22:31:17ID:oELFSwba
スレチだったのでもう一度こちらで質問させていただきます

PHPで言うところのupload_max_filesizeやpost_max_sizeは、
Perlではどこら辺を設定すればいいんですか?
0100nobodyさん2008/08/28(木) 22:57:12ID:???
>>99
use CGI;
$CGI::POST_MAX = $limit_by_byte;
0101nobodyさん2008/08/28(木) 23:59:40ID:???
htmlやhttp勉強していたころからずっと今までCGI.pm使ってないな。。。LWPは使い出したが。

CGI.pmが簡単、は例からわかるんだが、
汚れた変なデータ渡されても誤動作しないのかとか
デフォルト設定をちゃんと覚えないととかちょっとだけ不安。
0102nobodyさん2008/08/29(金) 08:08:31ID:???
古いPerlだとメモリーは無限で限界は考えなくて良いってコードが多いからその辺も気を付けるとか

何時の話だ
0103nobodyさん2008/08/29(金) 10:08:36ID:???
そういう面倒なのをやってくれちゃってるのがそいつなんじゃないの?
0104nobodyさん2008/08/29(金) 15:26:13ID:???
XSS対策で、引数の記号を適度に変換してくれるモジュールを自己開発しました。

マルチパートのパースがむつかしい、、、というかめんどくさい。。
while(<STDIN>)
ってしたら、大きい添付ファイルきたらいちどメモリに確保する分つらいしな。。
readでちょっとずつ読むしかないのか、、
0105nobodyさん2008/08/29(金) 15:27:54ID:???
ん? 質問内容がわからん
0106nobodyさん2008/08/29(金) 15:45:42ID:???
質問じゃなくてチラシの裏に書こうとした文だろう。
0107nobodyさん2008/08/30(土) 09:40:00ID:???
ソースのコメントにでも書いておけ
0108nobodyさん2008/08/31(日) 18:20:50ID:???
>>101 (== >>99 ?)
Perl は汎用言語として開発されています。
そのためその言語仕様は CGI (をはじめとする Web プログラミング) など他の周辺仕様と直行しており、その点で PHP とは事情が異なります。

Web アプリケーション開発のために生まれたのが PHP で、
Web アプリケーション開発にも流用されているのが Perl であると言うこともできます。

Perl は CGI で利用できる言語として広く普及しました。
その過程で生まれたノウハウを抽出したものが CGI::* などのモジュール群です。

幸い CGI.pm は pure Perl ですから、この機会に目を通してみてはいかがでしょう。
その上で、あなたが必要とする品質に達していないと判断したなら、それは新しい車輪を作るに充分な理由だと思います。
イイモノができたら CPAN で公開してください。使わせてもらいます。
0109nobodyさん2008/09/02(火) 08:28:05ID:guk/QrQq
Flashゲームを作成しています
今スコアについて作成しているのですが
どうにも反映されません、何が違うのでしょうか
Flashのスコア登録コードは
stop ();
CGIFile = "test.cgi?" + Math.floor(Math.random() * 1000);
mySaveVars = new LoadVars();
mySaveVars.score = score;
mySaveVars.playername = playername;
myLoadVars = new LoadVars();
myLoadVars.onLoad = function (success)
{
var _loc1;
for (var _loc1 = 0; _loc1 < RANK_MAX; ++_loc1)
{
ranker[_loc1].playername = myLoadVars["name" + _loc1];
ranker[_loc1].score = myLoadVars["score" + _loc1];
} // end of for
gotoAndStop("display");
};
mySaveVars.sendAndLoad(CGIFile, myLoadVars, "POST");
0110nobodyさん2008/09/02(火) 08:30:11ID:guk/QrQq
そしてtest.cgiには
use CGI 'Vars';
my %in = CGI::Vars;

open LOG, '+<score.dat';
my %rank = map { chomp; split /\t/, $_, 2; } <LOG>;
$rank{$in{score}} = $in{name} if $rank{$in{score}} < $in{name};
my @rank = sort { $rank{$b} <=> $rank{$a} } keys %rank;
truncate LOG, 0;
seek LOG, 0, 0;
print LOG map { "$_\t$rank{$_}\n" } @rank[0..9];

print "Content-type: text/plain\n\n";
print map { "score$_=$rank[$_]&name$_=$rank{$rank[$_]}&" } 0..9;

test.cgiにはtop10の空欄表示はされますが
登録する画面にはいかずそのまま終わってしまいます
score.datも空欄ですが、動いているようです
0111nobodyさん2008/09/02(火) 15:54:14ID:XutqN0xS
汎用のエラーサブルーチンで、
ログに場所や原因を特定できる情報を吐くために、
callerで大元の呼び出し元からのツリーを吐く方法を探してます。

力技でやれば、階層確認用の変数を作って
mainから関数を呼ぶたびに1ずつインクリメントしていってエラー関数でforで
階層確認用の変数の分だけ回せば出来るとは思うんですが、

sub err {
 my ($sadd) = @_;
 my $s;
 for ($i=MAXVALUE; $i <= 0; $i--) {
  $s .= caller($i).' / ';
 }
 print STDERR $sadd."\n".$s;
}

手動でインクリメントすることなく、上記のMAXVALUEを取得する方法はありませんでしょうか。
0112nobodyさん2008/09/02(火) 17:08:26ID:62/De0KZ
以下の場合だと、$hogeにはIPアドレスが入ってます。
$hoge=gethostbyaddr(pack('C4',split/\./,$ENV{'REMOTE_ADDR'}),2)||$ENV{'REMOTE_ADDR'};
以下の場合だと、$hogeは空になります。
$hoge=gethostbyaddr(pack('C4',split/\./,$ENV{'REMOTE_ADDR'}),2)or$ENV{'REMOTE_ADDR'};

後者が空になってしまうのは何故ですか?
0113nobodyさん2008/09/02(火) 17:20:16ID:???
後者は以下と同じこと
($hoge=gethostbyaddr(pack('C4',split/\./,$ENV{'REMOTE_ADDR'}),2)) or$ENV{'REMOTE_ADDR'};
0114nobodyさん2008/09/02(火) 17:30:48ID:???
>>111
confessじゃだめか
0115nobodyさん2008/09/02(火) 17:37:04ID:62/De0KZ
>>113
そういうものなんですね。ありがとうございました。
0116nobodyさん2008/09/02(火) 17:44:36ID:???
>>114
confessも読んでいくと

my $pkg = caller(++$i);
unless(defined($pkg)) {

みたいなことをしてループでネストの深さ調べてるから
インクリメントしていると言える。

見かけ上自分でインクリメントしなけりゃいいならこれで
いいんだろうけどな。
0117nobodyさん2008/09/02(火) 17:52:27ID:IiWNBMxF
バイオインフォマティックスについて詳しい方いらっしゃいますか?
0118nobodyさん2008/09/02(火) 17:55:37ID:???
>>114,116
ありがとうございます

> my $pkg = caller(++$i);
> unless(defined($pkg)) {

こんなこと出来るんですね…
すみません調べが足りず、callerに対して無効な範囲の引数を渡したら
落ちちゃうもんだとおもってました。

目的としては、余計な引数のリレーとかグローバル変数とか使わずに
エラーサブだけでツリー生成することでしたので、下記のような感じでテストしてみます。
うまく行ったら〆報告します。

sub err {
 my ($sadd) = @_;
 my @return;
 my $i = 0;
 while(1) {
  my $s = caller($i);
  if (defined $s) {
   @return .= $s;
  } else {
   last;
  }
  $i++;
 }
 print STDERR $sadd."\n".(join ' / ', reverse @return);
}
0119nobodyさん2008/09/02(火) 17:58:31ID:IiWNBMxF
perlを使って突然変異前後における終止コドンのカウントをしたいんですが、初心者なのでまったく分かりません・・・(涙)
0120nobodyさん2008/09/02(火) 18:34:27ID:???
>>114,116
抜粋ですが、下記でツリーというかパンくずリストというかそれっぽいものが出力できました。
ただ、ファイル名はrequireした元ではなく全て実行ファイル名になるようで、
あんまり意味無かったかも…

>my $i = 0;
>while (($package,
>  $filename,
>  $line,
>  $subroutine,
>  $hasargs,
>  $wantarray,
>  $evaltext,
>  $is_require,
>  $hints,
>  $bitmask) = caller($i++)) {
> push @aTree, "$filename\($line\) $subroutine";
>}
>my $sRev = join ' => ', (reverse @aTree);
>print STDERR $sRev

以上、ありがとうございましたー
>>118は無限ループっぽいのでご注意下さい
0121nobodyさん2008/09/02(火) 18:54:50ID:???
……(呆れている)
0122nobodyさん2008/09/02(火) 19:06:01ID:???
>>121
なんで…?

と思ってよくよく考えたら、confessそのまま使えばよかったのか…orz
すみませんなにか焦りのままにわけのわからない事をしてしまったようで…orz
0123nobodyさん2008/09/02(火) 23:30:34ID:???
>>119
perlじゃなきゃダメなの?
0124nobodyさん2008/09/02(火) 23:53:47ID:???
>>123
> perlじゃなきゃダメなの?

bioinformaticといえばperlってくらい。
0125nobodyさん2008/09/03(水) 02:01:14ID:???
>>119
何の初心者かと言えばまず間違いなく Perl の初心者さんで、
バイオなんとかについては専門 (恐らく受講中) ということであれば、
# (この程度の情報はよこしてもよかろう、ケチんぼめ)

「バイオインフォマティクスのためのPerl入門」(ISBN4-87311-103-X)

を買え。
01261252008/09/03(水) 02:16:22ID:???
追伸:
これを機会にPerlをイチから少々嗜んでおこうと考えたなら
(または「バイオ(以下略)」のPerlに歯が立たなかったら)、
次の書籍から入るのが王道よん。

「初めてのPerl 第3版」(ISBN4-87311-126-9)

いずれにせよこの手の応用なら計算のためのモデル化が必須で、
モデル化するためには当該分野の知識が必要、と。
数式にまで落し込んで示せば誰かコード例を書いてくれるかもね。
しかしそこまでできれば自分で書けちゃうよなあ。w
0127nobodyさん2008/09/03(水) 02:46:19ID:???
電算機言語を*嗜む*人向けのありがたいお話は
習い事板にでも書いて。
0128nobodyさん2008/09/03(水) 02:49:05ID:???
Perlの入門書でいちばんいいのは
結城さんのだよ。

ほかのはむずかしすぎて(説明が下手すぎて)わかんないとおもう。
0129nobodyさん2008/09/03(水) 02:57:19ID:???
配布cgiを改造して覚えた。
ここをこう直せばこう行ける、みたいな経験則で。
0130nobodyさん2008/09/03(水) 05:15:42ID:???
経験則だけで行くと、習得に時間が掛かる上に変な癖がつく。
ラクダ本やPerldocなど読んで、基本をしっかりマスターすることが大切。
文法エラーが出なければ、なんでも良い訳じゃない事を知って欲しい。

特にファイルオープンのエラー処理を省く奴。
0131nobodyさん2008/09/03(水) 09:02:15ID:???
>>128
お前の頭が悪すぎるだけ
0132nobodyさん2008/09/03(水) 09:20:14ID:???
と変な癖が付いた人が言う
0133nobodyさん2008/09/03(水) 09:29:36ID:???
Perl関係はドキュメント類が完備されているから、それでも質問に来るのは
頭の悪すぎる奴というのであってる。
0134nobodyさん2008/09/03(水) 11:33:27ID:???
とドキュメントを残さない、不完全なドキュメントを残す人が言う
そして素人に最初から完璧な探し方を要求する
0135nobodyさん2008/09/03(水) 11:37:02ID:???
ドキュメント読むひまがあったら人に聞くだろ、常考
0136nobodyさん2008/09/03(水) 11:59:41ID:???
以前、人のプログラムを見ては「変な癖がついてる」「変な癖がついてる」と
連発する新人が来て、一週間で営業に飛ばしたのを思い出した。
0137nobodyさん2008/09/03(水) 13:16:42ID:???
なあ、もしかして英語読めないやつっているんじゃね? ありえないかな?
0138nobodyさん2008/09/03(水) 13:22:49ID:???
俺読めない。
0139nobodyさん2008/09/03(水) 13:40:17ID:???
sub hoge ($$\@) {}
の($$\@)って何っていう名前だっけ?
0140nobodyさん2008/09/03(水) 13:48:18ID:???
>>139
プロトタイプ
0141nobodyさん2008/09/03(水) 14:20:13ID:???
使用目的だけを読んで使い方が判るんだ
凄いな
0142nobodyさん2008/09/03(水) 22:23:50ID:???
>>139 の「何っていう名前だっけ?」という質問に対して
>>140 はほぼパーフェクトな回答。

そもそもが知りもしないことを、余計な格好をつけるから
そういう間の抜けたことになる。
0143nobodyさん2008/09/05(金) 06:53:30ID:SLk/ayWJ
読み込んだHTMLファイル内に直接書かれてる「@{foo[8..15]}」のような文字列を
配列として扱えるように置換したいんですが、どう書けばいいですか?
0144nobodyさん2008/09/05(金) 07:00:40ID:???
5.10動くレンタルサーバーの一覧はありますか?
0145nobodyさん2008/09/05(金) 08:42:28ID:???
>>143
もっと違う方法を考えた方がいいと思う。
0146nobodyさん2008/09/05(金) 11:12:25ID:SLk/ayWJ
>>145
大したCGIではないのでぶっちゃけどんな方法でもいいのですが、
後学のためにもこの方法でお願いしたいです。
0147nobodyさん2008/09/05(金) 12:29:59ID:hg/3f6aE
use File::Copy;を使って
コピーする場合と、
OSのコピーコマンドを
使ってコピーする場合は
どっちが高速ですか?
また、常に上書きされるのでしょうか?
0148nobodyさん2008/09/05(金) 12:36:06ID:???
>>147
最後に、

> 自分でマニュアルを読むのが面倒なので
> 代わりに読んで説明してください。

とつけとけ。
0149nobodyさん2008/09/05(金) 12:59:01ID:???
>>148
おまえがマニュアルを読んで
日本語で説明しろ!
そして死ね!
0150nobodyさん2008/09/05(金) 13:12:50ID:r9aXZuUN
use File::Copy;を使って
コピーする場合と、
OSのコピーコマンドを
使ってコピーする場合は
どっちが高速ですか?
また、常に上書きされるのでしょうか?
自分でマニュアルを読むのが面倒なので
代わりに読んで説明してください。
0151nobodyさん2008/09/05(金) 13:24:36ID:???
ホラ、親切な>>149さん。やってあげなよ。
0152nobodyさん2008/09/05(金) 13:37:01ID:???
OSの違いやその他の要因で違うからなんともいえないところだが、手元で50MBぐらいの
適当なファイルについて試したところでは

% time cp hoge.log hg
cp hoge.log hg 0.00s user 0.21s system 8% cpu 2.529 total

% time perl -MFile::Copy -e 'copy "hoge.log","hg2"'
perl -MFile::Copy -e 'copy "hoge.log","hg2"' 0.02s user 0.29s system 12% cpu 2.532 total

これだけみるとcpの方がはやいかな?

気になる人は何回も条件変えたりしてやってみると良いよ。
0153nobodyさん2008/09/05(金) 13:37:22ID:???
>>151
お前まだ死んでなかったんだ。
0154nobodyさん2008/09/05(金) 14:58:46ID:???
>>152
システムコピーを使った場合どうなります?
0155nobodyさん2008/09/05(金) 15:15:12ID:???
質問する奴は>>1読んでからにしろ
0156nobodyさん2008/09/05(金) 20:38:54ID:???
>>146 eval
>>147,154 計れ。
0157nobodyさん2008/09/05(金) 20:43:49ID:???
>>146
方法を問わずなら、TT使っといて。
ttp://www.hakoniwa.net/tt/
0158nobodyさん2008/09/06(土) 11:31:36ID:???
TTかー。うちはHTML::Templateなんだよなー。
やっぱ便利?
0159nobodyさん2008/09/06(土) 12:35:13ID:???
テンプレート変数をテンプレートにゴリゴリ書ける点は結構おいしい。
コードとデザインの分離が不完全になりかねないが。
0160nobodyさん2008/09/06(土) 21:45:27ID:???
つまり、TTにすると
今までデザイン担当がやってた部分を俺がやらなきゃならんってことか(笑)
0161nobodyさん2008/09/06(土) 23:42:48ID:???
デザイナにやらすんだよ
0162nobodyさん2008/09/08(月) 09:09:39ID:???
>161
ハハハ…… 無理だろうなあ。
0163nobodyさん2008/09/08(月) 14:05:27ID:???
クレヂットカード作りたいんですが自宅や勤務先に電話とかかかって来るんでしょうか?
また支払いに遅れたら暴力団や政治結社とかから取り立てが来るんでしょうか?
無知でクレクレですいません(>_<)詳しい方、宜しくお願いしますm(_ _)m
0164nobodyさん2008/09/08(月) 14:29:16ID:wRo8Y2Dq
勤務先に黒服が直接訪問してきて所在確認します。
また延滞した場合は督促状が届き、それを忘れると社会的に葬られます。
気をつけましょう。
0165nobodyさん2008/09/09(火) 13:23:57ID:???
CGI.pmの初級質問です

h1();
<H1>が生成

h1('aaa');
<H1>aaa</H1>が生成

では
</H1>だけ生成するにはどうすればいいのでしょうか?
0166nobodyさん2008/09/09(火) 13:53:27ID:???
There will be some times when you want to produce the start and end tags yourself.
In this case, you can use the form start_Itag_name and end_Itag_name, as in:
print start_h1,'Level 1 Header',end_h1;
0167nobodyさん2008/09/09(火) 13:55:39ID:???
print start_h1 , '2分で見つけたぐぐれかすしね' , end_h1;
0168nobodyさん2008/09/09(火) 14:35:58ID:???
thx
ちなみにどんな語句で検索したんですか?
0169nobodyさん2008/09/09(火) 15:26:06ID:???
まぁ、マニュアル一度も読んでないんだろうな。
最低でもマニュアル読んで質問しろや、ぼけ。
0170nobodyさん2008/09/09(火) 15:59:27ID:???
>>169
>>149
0171nobodyさん2008/09/09(火) 16:04:57ID:???
マニュアル読まずに質問する初心者って何なの?
もう、プログラミングやめた方がいいよ。
0172nobodyさん2008/09/09(火) 16:09:27ID:???
>>171
ここで聞けば答えてくれる人がいるのだから、マニュアルを読まない人が
いても不思議ではない。
0173nobodyさん2008/09/09(火) 16:11:52ID:???
でも英語で見逃す、訳し間違えることはよくある俺。
0174nobodyさん2008/09/09(火) 16:14:58ID:???
>>173
貴殿は、自らを成長する存在と見ておらぬのか?
0175nobodyさん2008/09/09(火) 16:16:31ID:???
マニュアル読まないやつは叩くのが回答者の嗜みだろ。
答える答えないは別として。
0176nobodyさん2008/09/09(火) 16:21:23ID:???
初歩的すぎるのか、ここら辺、CGI.pm関連ページでもあまり触れられないし、
start_xxx
end_xxx
ってパターン知らないと、調べるにもその先が広がらないよね
0177nobodyさん2008/09/09(火) 16:28:12ID:???
それでも一瞥したら目に入ると思うが。

初心者が手にするような入門書には書いてないのかもしれないな。
初心者は入門書がマニュアルだから。
入門書に書いてなければ、即質問。
0178nobodyさん2008/09/09(火) 20:55:13ID:???
Perl のマニュアルを見るには perldoc コマンドを使います:

perldoc perl

モジュールのマニュアルを見るには perldoc の引数にモジュール名を与えて実行します:

perldoc CGI

# 今回のケースはこのコマンドで表示される内容のうち、"SPECIAL FORMS FOR IMPORTING HTML-TAG FUNCTIONS" という節に載っています。

perldoc の使い方も perldoc で調べることができます:

perldoc perldoc

以上、初心者のための perldoc 入門でした。よろしくご活用下さい。
0179nobodyさん2008/09/09(火) 21:25:32ID:???
rubyにユーザー数抜かれたくせに
態度でかいな。
0180nobodyさん2008/09/09(火) 23:58:37ID:???
ユーザー数・・・?
0181nobodyさん2008/09/10(水) 09:33:06ID:???
x:xxxxxxx>perldoc
'perldoc' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

Pathが通ってなかったOracle10g付属Perl
Pathを通すと動くようになった
■ このスレッドは過去ログ倉庫に格納されています