トップページ⇒tech
1001コメント334KB

Perlについての質問箱 18箱目

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん2005/07/20(水) 05:15:36
"The duct tape of the Internet" こと、Perlについての質問箱です。
"There's more than one way to do it" ということで、Perlの奥深さについて皆で語り合い、追求してまいりましょう。

CGIについての質問は板違いです。WEBプログラミング板でどうぞ。
CGIとPerlの区別がつかない人もWEBプログラミング板に行ってください。
(WEBプログラミング板 http://pc8.2ch.net/php/ )

CGIの質問は答えがPerlと全然関係ない話に帰着する場合が多かったりするのでWEBプログラミング板に行って聞いたほうが得ですよ。
このスレでは(CGI以外の)純粋にPerlのみに関係する質問を取り扱っていこうと思います。

http://www.perl.org/get.html
● 2005/03/17現在の最新版: 5.8.7
● 2005/03/17現在の開発版: 5.9.2
0951デフォルトの名無しさん2005/09/15(木) 08:13:40
forkで子プロセス作りまくったら数十個で作れなくなるんだけどどうにかならないの?
メモリは普通にあいてる。
winXPです
0952デフォルトの名無しさん2005/09/15(木) 08:57:29
>>948
全然関係ないけどちょっと気になったのですが、
my @arrayとmy(@array)の括弧の有り無しの違いは何ですか?
0953デフォルトの名無しさん2005/09/15(木) 09:42:51
ない
0954デフォルトの名無しさん2005/09/15(木) 14:17:46
>>952
>>950
なぜ、自分で調べよう、試そうとしないんだろう。
0955デフォルトの名無しさん2005/09/15(木) 14:43:49
>>954
> なぜ、自分で調べよう、試そうとしないんだろう。
まあまあ。
どうせリアルで友達いないんだろうから、せめてネットの中で
他人とのコミュニケーションを求めようとしてるんだろ。
桶愚とおんなじだ。生暖かく見守ってやれ(w
0956デフォルトの名無しさん2005/09/15(木) 15:23:30
どっちかっつーと、>>950=952は「無属性の馬鹿」で、友達の有無までは見えてこない。
むしろ>>955みたいなネチっこい奴のほうが「リアルで友達いない」タイプに見えるなぁ。

自分にとって「友達の有無」が痛点だから、煽りにも真っ先に混ざっちゃいました、って感じ。
0957デフォルトの名無しさん2005/09/15(木) 16:17:11
なんかあるとすぐ リアルで〜 って・・・ すげーアレだなw
0958デフォルトの名無しさん2005/09/15(木) 17:00:06
おまいらスレタイ嫁
0959デフォルトの名無しさん2005/09/15(木) 17:06:17
>>955
自分に友達がいないことをばらしている馬鹿
0960デフォルトの名無しさん2005/09/15(木) 17:25:28
紅玉とニシキヘビだけが友達さ
0961デフォルトの名無しさん2005/09/15(木) 18:40:15
つーか煽りあいはやめとけ。
0962デフォルトの名無しさん2005/09/15(木) 18:47:24
は?
09639492005/09/15(木) 19:02:13
>>950
あ、展開されてるかどうかの意味ではなくて、
こういう perl向けの最適なコーディングの事。

例えば、
my @week = qw(日 月 火 水 木 金 土);
を、パッケージの頭で宣言しておくか、
関数内で宣言するかで、ひょっとして関数呼ばれる度に
代入されてんのか?実はコンパイラが同等へ最適化してる?
みたいな実行効率の疑問が出てくる。

そんなの、まとまってないかなぁとか思って。
(スレじゃなくても サイトでもいいか)
0964デフォルトの名無しさん2005/09/15(木) 19:05:01
自分で調べる方法を教えて欲しいんだが、ベンチぐらいしか思いつかない。
ソース読んだりしてるのかなぁ・・・・。
0965デフォルトの名無しさん2005/09/15(木) 19:12:49
>>964
> 自分で調べる方法を教えて欲しいんだが、ベンチぐらいしか思いつかない。

何を自分で調べる方法?
0966デフォルトの名無しさん2005/09/15(木) 20:39:35
普通に調べようがないよね。うん

笑

0967デフォルトの名無しさん2005/09/15(木) 20:55:18
>>963
実行時にリストに変換される。
実行効率は同じ@perl, v5.8.4 built for i386-linux-thread-multi
0968デフォルトの名無しさん2005/09/15(木) 21:02:10
951だけど誰か教えてよ(^^)
0969デフォルトの名無しさん2005/09/15(木) 21:41:27
>>968
問題が再現する小さいサンプルを載せろ
0970デフォルトの名無しさん2005/09/15(木) 22:11:47
for($i=0;$i<1000;$i++) {
if($p=fork) {
next;
} elsif(defined($p)) {
sleep 10000;
exit;
} else {
print("$i\n");
<STDIN>;
}
}

WindowsなのでUnix系OSと少し違うと思いますが
0971デフォルトの名無しさん2005/09/15(木) 22:26:49
わからず悩んでます。

perlでoracleからbind_paramを使用して
値を取得したいのですがうまくいきません。

$AAA = 'hoge1';
$BBB = 'hoge2';(実際はWEB上からの入力値)

SQL文は"select * from TBL whrere AAA = :sid and BBB :hid;"
$sh->open();
$sh->bind_param(':sid',$AAA);
$sh->bind_param(':hid',$BBB);
$sh->execute();

$sh->execute();でエラー
エラー内容は型があってないとのことです

debugすると
select * from TBL whrere AAA = 'hoge1' and BBB = "hoge2"と出力されており、、
$BBBにダブルクォーテーションがついてしまいます。
直打ちで'hoge2'とすれば問題なく取得できました。
どうすればダブルクォーテーションからシングルダブルクォーテーションに
なるのでしょうか?

どなたかよろしくお願いします。
0972デフォルトの名無しさん2005/09/15(木) 22:28:05
SQL文がまちがってました。

SQL文は"select * from TBL whrere AAA = :sid and BBB = :hid;"
です。
0973デフォルトの名無しさん2005/09/15(木) 22:53:12
どっちみちwhereがwhrereになってるので意味無いね
0974デフォルトの名無しさん2005/09/15(木) 22:57:43
質問するときは
>エラー内容は型があってないとのことです
とか書かないで出力されたエラーメッセージをありのままに
書けって習わなかった?
0975デフォルトの名無しさん2005/09/15(木) 23:40:37
重ね重ねすいません。
SQL文は"select * from TBL where AAA = :sid and BBB = :hid;"
です。
出力されたエラーは
DBD::Oracle::st execute failed: ORA-12704:
(DBD ERROR: error possibly near <*> indicator
です。
これでわかることがありましたら教えてください。
0976デフォルトの名無しさん2005/09/16(金) 22:21:22
>>975
丸一日レスないし。
DB板へ行って訊いたら?
0977デフォルトの名無しさん2005/09/16(金) 23:50:00
>>975
"select * from TBL where BBB = :hid and AAA = :sid;"
ってBBBを前に書くとどうなる?
0978デフォルトの名無しさん2005/09/17(土) 10:56:22
951,970だけど誰か答えてよ(^^)
0979デフォルトの名無しさん2005/09/17(土) 11:20:07
いいからperldoc読めよ。
ここに何か書いてない?
ttp://search.cpan.org/~nwclark/perl-5.8.7/pod/perlfork.pod
0980デフォルトの名無しさん2005/09/17(土) 11:40:48
Copyright 1987-2005, Larry Wall
Larry Wallって18年もperl書き続けてるのか
0981デフォルトの名無しさんNGNG
クスクス(^ω^)
0982デフォルトの名無しさん2005/09/17(土) 14:09:06
>>970
次スレよろ。
0983デフォルトの名無しさん2005/09/17(土) 14:30:58
18年もの歳月があってあの程度じゃ
Larry Wallってのもたいしたことないよね
0984デフォルトの名無しさん2005/09/17(土) 18:04:24
>>951 >>978

> forkで子プロセス作りまくったら数十個で作れなくなるんだけどどうにかならないの?
> メモリは普通にあいてる。
デスクトップヒープ領域が足りなくなった可能性がある。

http://support.microsoft.com/default.aspx?scid=kb;ja;JP126962
「デスクトップ アプリケーションのヒープを増やす」

ここにある方法で増やせるようだが、OSの記述がWindows2000までなので、
XPにも使えるのかどうかは解らん。
子プロセスではなく、スレッドが使えるのならスレッドを使ったほうが
いいかもしれない。(実はオレもスレッドのことはよく解らんし使った
こともないが)
0985デフォルトの名無しさん2005/09/17(土) 18:14:57
>>971
use DBD::Oracle qw(:ora_types);
なり
use DBI qw(:sql_types);
なりして
bind_paramにアトリビュート設定してみたら?
0986デフォルトの名無しさん2005/09/17(土) 23:11:00
教えていただきたいのですが、Aサーバにあるperlプログラムが
Bサーバにあるテキストファイルを読み込ませるにはどうすればよいのでしょうか?
0987デフォルトの名無しさん2005/09/17(土) 23:11:39
教えていただきたいのですが、Aサーバにあるperlプログラムが
Bサーバにあるテキストファイルを読み込ませるにはどうすればよいのでしょうか?
0988デフォルトの名無しさん2005/09/17(土) 23:12:35
すいません、2回書き込んでしまいました。
0989デフォルトの名無しさん2005/09/17(土) 23:19:13
教えていただきたいのですが、Aサーバにあるperlプログラムが
Bサーバにあるテキストファイルを読み込ませるにはどうすればよいのでしょうか?
0990デフォルトの名無しさん2005/09/17(土) 23:24:44
986ですが、989の3回目の書き込みは自分じゃないです…
0991デフォルトの名無しさん2005/09/17(土) 23:53:20
次スレよろ
0992デフォルトの名無しさん2005/09/18(日) 01:18:59
教えていただきたいのですが、Aサーバにあるperlプログラムが
Bサーバにあるテキストファイルを読み込ませるにはどうすればよいのでしょうか?
0993デフォルトの名無しさん2005/09/18(日) 01:20:07
教えていただきたいのですが、Aサーバにあるperlプログラムが
Bサーバにあるテキストファイルを読み込ませるにはどうすればよいのでしょうか?
0994デフォルトの名無しさん2005/09/18(日) 01:52:38
>>986
教えてあげるから次スレ立ててくだされ。

HTTP なり FTP なり ssh なり メール なり他の通信路なりで
やりとりすればOK。
0995デフォルトの名無しさん2005/09/18(日) 02:31:25
新スレ建てたよ。
http://pc8.2ch.net/test/read.cgi/tech/1126977805/l50

独断でテンプレを多少弄った。
0996デフォルトの名無しさん2005/09/18(日) 03:04:04
んじゃ誰か埋めといて。
0997デフォルトの名無しさん2005/09/18(日) 03:05:44
んじゃ、埋め
0998デフォルトの名無しさん2005/09/18(日) 03:06:51
998
0999デフォルトの名無しさん2005/09/18(日) 03:07:36
http://pc8.2ch.net/test/read.cgi/tech/1126977805/l50
1000デフォルトの名無しさん2005/09/18(日) 03:08:13
次スレへどうぞ
GO! → http://pc8.2ch.net/test/read.cgi/tech/1126977805/l50
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。