- 1 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 19:10:40 ]
- "The duct tape of the Internet" こと、Perlについての質問箱です。
"There's more than one way to do it" ということで、 Perlの奥深さについて皆で語り合い、追求してまいりましょう。 CGIについての質問は板違いです。WEBプログラミング板でどうぞ。 CGIとPerlの区別がつかない人もWEBプログラミング板に行ってください。 ( WEBプログラミング板 pc11.2ch.net/php/ ) CGIの質問は答えが Perlと全然関係ない話に帰着する場合が 多かったりするのでWEBプログラミング板に行って聞いたほうが得ですよ。 このスレでは(CGI以外の)純粋にPerlのみに関係する質問を取り扱っていこうと思います。 スレ違いの質問にはスルーか、速やかな誘導をお願いします。 www.perl.org/get.html ● 2008/08/11 現在の最新版(安定版): 5.10.0 ● 2008/08/11 現在の開発版: 5.9.5 ▼ 前スレ Perlについての質問箱 36箱目 pc11.2ch.net/test/read.cgi/tech/1215569470/ リンク集は>>2-3 Perl 日本語処理の基礎の基礎 >>4 過去スレは>>5-6 あたり
- 694 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 08:10:35 ]
- >>691
grepを一旦、@aで受けるとかどう? if (my @a = grep { /^(dualvar|set_prototype)$/ } @_ ) { require Carp; Carp::croak("@a is only avaliable with the XS version"); #エラーにある30行目はここ }
- 695 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 11:51:40 ]
- >>691
こんな感じの事が起きている。 $_ = q/abcd/; { m/^(abcd)$/; print "a:$1\n"; } print "b:$1\n"; しかし、grep BLOCK LIST の代わりに grep EXPR,LIST を使っても同じ結果になるので要注意。 理由は未確認。(内部的に BLOCK になっているのだろう) このエラーが放置されている理由は、おそらくこのエラーが報告されていないから。 なにしろ、これはXSバージョンが使えない場合かつユーザーが(デフォルトで輸出されない)特定の 処理を要求した場合のみに発生するエラーだから。 今までエラーが出なかかったのは、単にXSバージョンが使われていたからだろう。 で >>687 にあるようにプログラムの動作に問題が無いならば、dualvarまたは(/かつ)set_prototype を必要無いのに要求していたという事なので、単にこれらを要求する事を止めればよい。
- 696 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 12:33:07 ]
- >>695
$数字はダイナミックスコープだからブロックを抜けたら元に戻るというのは その通りだが、今回の例は抜けてないので違うんじゃない?
|

|