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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2005/08/12(金) 01:26:47ID:mHnZWvqz
Perlのコーディングで困ってる人のスレです。

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

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

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

過去ログやお勧めサイトは >>2-10
0460nobodyさん2005/09/17(土) 18:53:10ID:???
>>457
回答と煽りは別。
厨房に構うやつも厨房。おまえは厨房だって事。
0461nobodyさん2005/09/17(土) 19:00:26ID:???
すごい…論理です。
0462nobodyさん2005/09/17(土) 20:19:55ID:???
煽りに釣られる時点でクソです(><)
0463nobodyさん2005/09/17(土) 20:25:16ID:???
クソ蝿見っけ^o^
0464nobodyさん2005/09/17(土) 21:02:52ID:EwuItVJ4
>>434
疑似ハッシュって今ダメなんだっけ?

>>440
MIME::Base64ならローカルにコンパイルしてFTPでコピーしても動くよ。
0465nobodyさん2005/09/17(土) 21:16:29ID:???
> MIME::Base64ならローカルにコンパイルしてFTPでコピーしても動くよ。

put 先の環境がわからない場合は、手が出せないと思うのだけど。頭大丈夫?
0466nobodyさん2005/09/18(日) 01:36:06ID:???
不毛な煽りはやめようぜ。
やってるやつは1人か2人だと思うけど。

マジレスすると

>>452
そういうニーズがあって別に問題ないだろう。

>>465
もう少し知識をつけてから書き込みましょう。
0467nobodyさん2005/09/18(日) 02:17:25ID:???
>>466
> もう少し知識をつけてから書き込みましょう。

何の知識だろう?説明して欲しいなら正直に言えばいいのに。

pure perl 版でない MIME::Base64 を動かす場合、xs をコンパイルしないとけない。
biglobe で動くようにバイナリを作らないといけないので、
> put 先の環境がわからない場合は、手が出せないと思うのだけど。頭大丈夫?
0468nobodyさん2005/09/18(日) 02:21:44ID:???
>>466
> そういうニーズがあって別に問題ないだろう。

頭が大丈夫か否か確認しているだけで、問題であるとは言ってないのでは?
0469nobodyさん2005/09/18(日) 02:38:34ID:???
>>468
頭大丈夫?
0470nobodyさん2005/09/18(日) 02:40:02ID:???
おれの頭はだめぽ。
0471nobodyさん2005/09/18(日) 02:40:28ID:???
小学生ですか?
0472nobodyさん2005/09/18(日) 02:42:27ID:???
つまんね
0473nobodyさん2005/09/18(日) 02:44:47ID:???
藻前らこんな夜中に何やってるんですか?
0474nobodyさん2005/09/18(日) 02:49:56ID:???
頭大丈夫?
0475nobodyさん2005/09/18(日) 02:53:27ID:???
おれの頭もだめぽ。
0476nobodyさん2005/09/18(日) 03:02:25ID:5XfzNwGp
おまいの頭はガッ
0477nobodyさん2005/09/18(日) 03:03:29ID:???
小学生ですか?
0478nobodyさん2005/09/18(日) 03:08:31ID:???
つまんね
小学生とか2回もウザいし。
0479nobodyさん2005/09/18(日) 06:58:08ID:???
>>464
擬似ハッシュは5.10.0以降無くなるから、お勧めしない。
perlrefのPseudo-hashes: Using an array as a hash、NOTE参照。
0480nobodyさん2005/09/18(日) 15:30:34ID:tUMS1QFu
GDモジュールを使って、HTTPアップロードされた画像ファイルを指定したサイズに縮小して保存する
…ということをレンタルサーバーでやりたいんですが、あまり大きくない画像(試した画像は174x180ぐらい)では
うまくいくものの、でかい画像(試した画像は1201x1372)になると処理が途中で止まってしまうみたいです。(アップロード処理後で出力しているはずのHTMLが出力されない)
アップロードまではうまく行ってるようなのでアップロード後の処理のみですが、作ったスクリプトは以下のような感じです。原因も対応もさっぱりです。どうすればよいでしょうか?どなたか教えてください。

$icon_width = 100; # 幅を100に縮小
$icon_height = 100; # 高さを100に縮小

open(IMG, "アップロードされたファイル");
$sourceimg = newFromJpeg GD::Image(\*IMG);
($image_size_x, $image_size_y) = $sourceimg->getBounds();
close(IMG);

$newimg = new GD::Image($icon_width, $icon_height, 1);
$newimg->copyResized($sourceimg, 0, 0, 0, 0, $icon_width, $icon_height, $image_size_x, $image_size_y);

open(FILE, ">縮小後のファイル.jpg");
print FILE $newimg->jpeg();
close(FILE);
0481nobodyさん2005/09/18(日) 15:37:08ID:???
>>480
それは、テスト環境とかでまともに動いているスクリプトでつか?
情報の出し惜しみはダメでつよ?
0482nobodyさん2005/09/18(日) 15:37:23ID:???
レンサバの処理時間制限に引っかかってるんじゃないの?
ローカルで一度試してみ。
04834802005/09/18(日) 16:03:16ID:???
ローカルのテスト環境ですか…。なるほど作ってやってみようと思います。
とりあえず使ってるレンサバではシェルが使えるのでシェル上で
適当に画像を置いてやってみたら、ちゃんと縮小されました…
0484nobodyさん2005/09/18(日) 16:09:10ID:???
>>483
なら、タイムアウト食らってるね。
その鯖、cron 使える?
0485nobodyさん2005/09/18(日) 16:21:18ID:???
PerlでMySQLを利用しようとして、エラーで進まないのでご教授ください。
ローカルのテスト環境はWin2000とPerlは5.8.7です。

MySQLは無事にインストールが出来、動作も確認済みです。
Perlで呼び出す際の問題なのですが、use DBI;とすると、
Can't locate loadable object for module DBI in @INC (@INC contains: C:/usr/lib C
:/usr/site/lib .) at C:/usr/lib/DBI.pm line 254
というエラーが出てしまいます。
が、DBI.pmはあるべき場所にありますし、エラーの出る行数を見ても}
があるだけで、行き詰まっております。
04864802005/09/18(日) 16:22:26ID:???
>>484
which cronでパスが表示されるので入ってるみたいです。
ただ、恥ずかしい話ですが私は使ったことがないので使い方を知りません。
0487nobodyさん2005/09/18(日) 17:10:35ID:???
>>486
ttp://www.coolbrain.net/cron.html

知らない事については、勉強すればいいと思う。
いろいろ試してみて理解不能だったら、また質問すると良いよ。
0488nobodyさん2005/09/18(日) 17:12:59ID:???
>>485
DBD::MySQL とかは入ってる?
04894802005/09/18(日) 17:18:21ID:???
>>487
有り難うございますー 勉強してきます。

その他の回答してくださった皆さんも有り難うございました。
04904852005/09/18(日) 17:29:40ID:???
>>488
libの中に DBD/mysql.pm があります
0491nobodyさん2005/09/18(日) 17:30:34ID:???
>>490
それって、単体では動かないのだけど、バイナリとかは入ってる?
04924852005/09/18(日) 17:39:42ID:???
CPANから落としてきたものを解凍して丸々放り込んでます。
0493nobodyさん2005/09/18(日) 17:42:06ID:???
>>492
なんで、それだけで動くと思う?

http://perldoc.jp/docs/modules/DBD-mysql-2.1026/DBD/mysql/INSTALL.pod
04944852005/09/18(日) 17:57:30ID:???
ppmがエラー出すので、代替方法のつもりで手動インストールをやって行き詰まってました。

Perlモジュールスレがあったみたいなので、そちらで勉強してきます。
0495nobodyさん2005/09/19(月) 19:07:11ID:beipsuRn
require で宣言した変数値が、取れたり取れなかったりで困っております。
共通の設定定義ファイルを読み込み、それがシステムで使いまわされる感じを
考えています。

*パス構成*

cgi-bin/
| settings.pl   … (x)変数に設定を代入している、定義ファイル
-log
| |counter.cgi  … (a)アクセスカウンター ( settings.pl で設定した変数が生きている )
|
-bbs
 .|index.cgi    … (b)掲示板トップ ( settings.pl で設定した変数が消えている )

(a)にて、require '../settings.pl' を行うと、(x)で宣言した変数は生きているのですが
(b)にて、require '../settings.pl' を行っても、(x)の宣言が反映されません。

どなたか、お知恵をお貸しいただければ幸いです。
0496nobodyさん2005/09/19(月) 21:04:41ID:???
>>495
それだけだと
どこかで変数が干渉してんじゃない?
って事しか・・・
0497nobodyさん2005/09/19(月) 21:36:55ID:???
>>495

問題が発生する最も短いソースを作ってみることが大切だね。
そうすると、質問しなくても自分で解る場合も多い。

一番ありそうなのは、変数のスコープが違っているということだろうけど。
0498nobodyさん2005/09/19(月) 21:45:40ID:uGVzhqRv
TXTファイルを、何行目か指定して読み込む方法がありましたら、教えてください。
0499nobodyさん2005/09/19(月) 21:49:45ID:???
>>498
全然試してないけど
my $file = 'hoge.txt';
my $line = 12;

open(FH, $file) || die "$file : $!\n";
while (<FH>) {
next if ($. < $line || $line < $.); # skip
print $_; # 目的の行
}
close(FH);
05004952005/09/19(月) 21:55:20ID:???
>>496-497
レスありがとうございます。
二重require(use) して、干渉しているようです。??(?Д?)

cgi-bin/
| settings.pl   … (x)変数に設定を代入している、定義ファイル
-log
| |counter.cgi  … (a)アクセスカウンター
|
-bbs
 .|index.cgi    … (b)掲示板トップ
 .|BBSthread.pm … (c)スレッド制御モジュール


(b)の index.cgi では、 use BBSthread.pm を宣言していて、
さらに (c) の BBSthread.pm で require '../settings.pl' 宣言していました。

試験的に use BBSthread をコメント化したところ、
settings.pl で設定した値が取得できました。

counter.cgi ではこのような二重require を行っていません。
これが原因っぽいです。
今回は、二重require されないようコーディングすることによって回避します。

ありがとうございました。
0501nobodyさん2005/09/19(月) 22:03:07ID:???
あーあ、解決に必要な情報も示さず自己解決かよ。

質問の上手い下手だけでその人の素質が分かりそうな気がする。
0502nobodyさん2005/09/20(火) 00:12:02ID:???
>>500
同じファイルに対してrequire を二重に実行すると、2回目は読み込まれない。
BBSthread.pm とcounter.cgi とで変数のスコープが違っているなら、
先にrequire した方にのみ、settings.plの内容が反映されることになる。

手っ取り早く解決するなら、require を eval に変更すればいいのだが、
このような使い方は感心しないね。
settings.pl の内容を、システムに共通な定数のリストを返す「関数」
にして、各モジュールはこの関数を呼び出すのが常道だと思われるが。
0503nobodyさん2005/09/20(火) 02:27:35ID:jMPX6Q/f
データベースとperlでデータをCSVに書き出すプログラムを書いています。

SQLで取得したデータをHTMLでテーブルにして表示しているのですが、
よくフリーメールであるような各行にチェックボックスがあって、
それにチェックを入れたデータだけCSVに書き出すといったものを作りたいのですが、
ロジック的にはどういったものになるのでしょうか??チェックボックスでCGIに渡せるパラメータは
○○=on とかってなりますよね。どうやって、データを識別したらよいでしょうか???
0504nobodyさん2005/09/20(火) 02:41:10ID:???
>>503
○○=on になっているものだけ取り出せばOKでは?
0505nobodyさん2005/09/20(火) 03:50:56ID:???
>>503
決してバカにするつもりで聞くわけじゃないけど、今までにCGIのプログラムを
書いて、ブラウザからフォームのデータを受け取ってみたことある?

いや、もしかして、そのレベルでつまづいているんじゃないかと思ったんで。
0506nobodyさん2005/09/20(火) 04:20:05ID:???
>>505
そういうひねくれた質問の仕方すると何かいいことある?

いや、もしかして、初心者いじって喜んでるんじゃないかと思ったんで。
0507nobodyさん2005/09/20(火) 06:54:46ID:???
データベース使っててCSVに書き出すプログラムって・・
0508nobodyさん2005/09/20(火) 07:07:20ID:???
データ作ってストリームで吐き出すか何かするだけじゃないのか
0509nobodyさん2005/09/20(火) 07:19:44ID:???
>>503
<input> には name と value に任意の文字列が指定できる。
チェックボックスの場合、チェックがオンになっているときだけ
name=value という形式の文字列が送られてくる。
従って name が同じでも value が違えば識別できる。
順序は保証されないので、順序に依存してはいけない。
0510nobodyさん2005/09/20(火) 08:49:48ID:???
>>503
試してみてから質問してもらえるか。

> 2: それでこんな風にやってみたが・・・
> 3: こんなエラーが出て上手く行かなかった。
05115052005/09/20(火) 11:54:43ID:???
>>506
503の質問って、別の板にもあった。そこでWebProgに行けって言われたから
ここに来たのだろうと思うんだが、質問内容に何も改善がなく、コピペしている
だけなんで、あいかわらず質問者の意図もレベルも分からなかいから、
どこまで分かってる? と、確認しているだけなんだが・・・

何を試したかとか、どこまで分かっているか、とか、情報が一切ないのは困る。
0512nobodyさん2005/09/20(火) 18:16:45ID:???
質問です。
CGI.pmを使ってフォームの値を受け取ろうとしてます。
-----
<form action="hoge.cgi?getval=ggg" method="post">
<input type="hidden" name="postval" value="ppp">
<input type="submit">
</form>
-----
こんな感じのフォームの値を受け取ろうとしているんですが、
GETの引数がCGI.pmに渡されません(この場合getvalが渡されない)
これは仕様でしょうか?何か方法があったりしますか?
0513nobodyさん2005/09/20(火) 18:27:59ID:???
merhodでpost指定してるから
0514nobodyさん2005/09/20(火) 18:28:07ID:???
>>512
> <form action="hoge.cgi?getval=ggg" method="post">

自分で method="post" て書いてるじゃないですか…。GET引数は渡りません。
hiddenで渡してください。
05155122005/09/20(火) 18:42:00ID:???
>513
>514
故意にPOSTを指定してるんです。
actionに「acton=hoge.cgi?getval=ggg」としてるんで、GETの値も渡るかなと思ったんですが、
ダメなんですかね?
そういうものなんでしょうか?
0516nobodyさん2005/09/20(火) 18:53:02ID:???
>>515
それでは、なぜGETとPOSTがあるのかを説明してください。
また、メソッドになぜ両方指定するものがないのかも考えてください。
0517nobodyさん2005/09/20(火) 18:53:22ID:???
>>515
(undef, $getval) = split /=/, $ENV{QUERY_STRING};

でOK。
0518nobodyさん2005/09/20(火) 18:56:07ID:???
>>516
いやいや、量の多い投稿をしたいが、同時に query により
URI も用意したい
という用途はあるぞ。
0519nobodyさん2005/09/20(火) 19:06:19ID:???
> CGI.pmを使ってフォームの値を受け取ろうとしてます。
05205122005/09/20(火) 19:12:18ID:???
>516
えっと、分かりません(汗
なんでなんでしょう?
私の中では、ブックマーク可能なページはGETにしとく、、くらいの認識しかないです。
あと、URL直接叩かれるとまずいページはPOST、、とか。そんな認識でごめんなさい。

>517
CGI.pmに頼らず、自分でパースしなくてはならない、ということですね。
これならできそうです。

で、
POSTのときってURLでパラメータ渡しちゃダメなんでしょうか?それが普通?
php書くときは結構普通にやってたけど、これって考えを改めたほうが良いですか?
0521nobodyさん2005/09/20(火) 19:15:09ID:???
>>520
> POSTのときってURLでパラメータ渡しちゃダメなんでしょうか?それが普通?
お行儀は良くない程度と思っておけばいいんじゃない?
CGI.pmはmethodを見るから受け取れなかっただけ
0522nobodyさん2005/09/20(火) 19:22:09ID:???
>>520
> POSTのときってURLでパラメータ渡しちゃダメなんでしょうか?それが普通?

問題ないと思うよ。
おれもよく使ってる。
0523nobodyさん2005/09/20(火) 21:01:01ID:???
絵文字除去ルーチンを各所サイトを参考に作ったのですが、
もしも下記に間違い等ございましたらご教示いただきたい
次第です。
宜しくお願いいたします。


sub remove_emoji{
my $str = $_[0];

# i-mode, EZweb
my $sjis = '[\x81-\x9F\xE0-\xF7\xFA-\xFC][\x40-\x7E\x80-\xFC]|[\x00-\x7F]|[\xA1-\xDF]';
my $emoji = '[\xF8\xF9][\x40-\x7E\x80-\xFC]';
$str =~ s/\G((?:$sjis)*)(?:$emoji)/$1/go;

# vodafone
$str =~ s/\x1B\$[\x21-\x7A]+\x0F//g;

return $str;
}
0524nobodyさん2005/09/20(火) 22:01:11ID:???
>>523
試してみて不具合がでたら聞きに来い
0525nobodyさん2005/09/20(火) 22:08:21ID:???
>>523
人を Lint 代わりに使わないでくれ
0526nobodyさん2005/09/20(火) 22:23:57ID:???
>>524-525
不愉快な思いをさせてしまい、本当に申し訳ありませんでした。
今のところ不具合はないのですが、もしもアドバイス等いただ
ければと思い書かせていただいた次第です。

悪気はありませんのでお許しください。
すみませんでした。
0527nobodyさん2005/09/20(火) 22:29:15ID:???
>>520
CGIモジュールではPOSTメソッドのときにurlのquery stringで渡した
パラメタはurl_paramっていう別のインタフェースでとるようになって
いるのよ。詳しくはCGIモジュールのマニュアル嫁。特にMIXING POST
AND URL PARAMETERSという見出しのところ。

05285122005/09/21(水) 00:16:24ID:???
>521 >522
なるほど、安心しました。

>527
ごめんなさい。おもいっきり書いてましたね。
どうもありがとうございます。ものすごく助かりました。
精進します。
0529nobodyさん2005/09/21(水) 02:03:43ID:???
このスレって、Lint 代わりに使ってもいい?
0530nobodyさん2005/09/21(水) 11:00:47ID:???
>>529
自作CGIを評価するスレ
http://pc8.2ch.net/test/read.cgi/php/1049514428/
0531nobodyさん2005/09/21(水) 11:41:12ID:AdBzR2Q9
すいません
perlで作成したcgiの質問があります。

HTML側で
<input type=file name="aaa">
<input type=file name="bbb">
とファイルを指定して
perlのcgi側で受け取りたいのですが
やり方がわかりません。

色々ネット上を調べたり「とほほ」を見ていたけど
二つ以上ファイルを受け取る方法がわかりません。

なにか情報をいただけますと幸いです。
0532nobodyさん2005/09/21(水) 13:00:42ID:???
>>531
アップロード以前に、GETやPOSTの受け取り方分かってるの?
まだなら先にそっちから勉強してくれ。
05335312005/09/21(水) 13:22:54ID:AdBzR2Q9
う、、、大変申し訳ありません。
今の所
use CGI;
my $cgi = new CGI;
my $comment = $cgi->param('comment');
上記のようにして取得しています。

だたファイルの場合はどうすれば取得できるのか不明だったため
質問させていただきました。
0534nobodyさん2005/09/21(水) 13:51:44ID:???
送信側は ENCTYPE="multipart/form-data" になってる?
これが原因じゃなかったら他の回答者のレスに期待してくれ。
05355312005/09/21(水) 15:03:05ID:AdBzR2Q9
送信側は↓のようにしているんでなってます、、、
<FORM METHOD=POST ENCTYPE="multipart/form-data" ACTION="test02.cgi">
<INPUT TYPE=file NAME="AAA"><BR>
<INPUT TYPE=file NAME="BBB"><BR>
<INPUT TYPE=submit VALUE="送信">
うーむ 助けて偉い人ー
0536nobodyさん2005/09/21(水) 15:37:57ID:???
>>531
1つも2つも同じことを繰り返すだけだろ
05375312005/09/21(水) 15:56:07ID:AdBzR2Q9
えーっと
INPUT TYPE=file
のデータの取得方法が分からないのです、、、

説明不足で申し訳ありません
05385312005/09/21(水) 15:58:18ID:AdBzR2Q9
(追記)
ひとつだけだったら
http://web.archive.org/web/20010210200144/wakusei.cplaza.ne.jp/twn/cgi-bin/wwwupl2.txt
で取れるとわかったのですが。
0539nobodyさん2005/09/21(水) 16:40:09ID:???
>>531
ヒント:>>403
0540nobodyさん2005/09/21(水) 17:10:37ID:???
>>538
うへ、スクラッチで書いてるのか。悪いことは言わないから
CGIモジュール使うことをオススメするね。
05415312005/09/21(水) 17:13:23ID:AdBzR2Q9
はいー
えーっとそのCGIモジュールを使用した際の
取得方法をお教えいただきたいのです。

わがままなのは十分承知しておりますが
ヒントではなくズバリッお教えいただけますと幸いです。
0542nobodyさん2005/09/21(水) 17:21:41ID:???
>>541
CGIモジュールの使い方をどうやって調べるか?
下記の順序でお試しください。

1.マニュアルを読む
2.和訳がないかググる
3.分かりやすく説明したサイトがないかググる
4.使っている他のスクリプトがないかググる
5.開き直ってにちゃんねるで聞く

05435312005/09/21(水) 17:36:51ID:AdBzR2Q9
ぐぐりまくって以下のようにし解決しました。
use CGI;
my $buffer;
my $query = CGI->new;
my $file = $query->param('BBB');
#my $file_name = ($file =~ /([^\\\/:]+)$/) ? $1 : 'uploadedd.bin';
my $file_name = 'aaa.jpg';
open(OUT, ">$file_name") or die(qq(Can't open "$file_name".));
binmode OUT;
while (read($file, $buffer, 1024)) {
print OUT $buffer;
}
close OUT;

どうもお騒がせいたしましたっ
0544nobodyさん2005/09/21(水) 22:30:20ID:???
1行例書いてあげればいいだけなのに、不親切だなあ。 いいけど。
0545nobodyさん2005/09/21(水) 23:07:53ID:???
不親切だなぁとか書かれて親切になったスレでもあるわけ?いいけど。
0546nobodyさん2005/09/22(木) 02:02:03ID:???
言い出しっぺの法則
0547nobodyさん2005/09/22(木) 05:13:05ID:???
>>544
自分は書いてあげる気はないけど、他人には書けばいいのにと言うわけね。
0548nobodyさん2005/09/22(木) 09:00:24ID:???
もう自己解決したみただしいいじゃないか
0549nobodyさん2005/09/22(木) 10:10:21ID:???
自己解決しました
0550nobodyさん2005/09/22(木) 17:44:54ID:???
自己発電しました
0551nobodyさん2005/09/22(木) 17:46:12ID:???
自己誘電しました
0552nobodyさん2005/09/22(木) 18:00:03ID:???
自己陶酔しました
0553nobodyさん2005/09/22(木) 18:34:37ID:???
自己破産しました
0554nobodyさん2005/09/22(木) 19:49:05ID:???
自己弁護しました
0555nobodyさん2005/09/22(木) 19:57:59ID:???
各ソースに共通で使える定数を用意したくて、以下の3つのソースを用意しました。
↓test.pl
-----
#!/usr/bin/perl
use strict;
use const; # この行をコメントアウトすると動く
use func;
my $obj = func->new();
$obj->print_var();
-----
↓func.pm
-----
package func;
use const;
sub new() {
my $class = shift;
my $self = {@_};
bless $self, $class;
}
sub print_var() {
printf('[%s]', FOO);
}
1;
-----
↓const.pm
-----
use constant FOO => 'aaa';
1;
-----
tesp.plを実行しても、const.pmの中のFOOの値が表示されずに、そのまま"[FOO]"が表示されます。
でも、test.plの中の「use const;」をコメントアウトすると、きちんと"[aaa]"が表示されます。
各ページで共通の定数を用意したいときは、違う方法が必要なのでしょうか?
0556nobodyさんNGNG
Perl5.8以前のサーバー環境で使っていたCGIが
Perl5.8以降のサーバーで動作しなくなったのですが
使えなくなった関数などがあるのでしょうか?
わかる方いましたら教えてください。
0557nobodyさん2005/09/22(木) 20:37:31ID:???
適当だけど、内部で扱うコードがutf-8になったぐらいしか
0558nobodyさん2005/09/22(木) 20:45:04ID:???
>>556
問題が再現する最小のソースを書くべし。
書く過程で解決することも多々。
0559nobodyさん2005/09/22(木) 20:56:13ID:???
>>555
そのやり方ではだめ。const.pmが最初にuseされるときにカレントの
パッケージでFOOが定義されて、それ以後のuseでは既に読み込まれている
ので無視されている。test.plのuseをコメントアウトすると動くのは
それによってfunc.pmでのuseが最初になるからだ。

で、こういう用途には定数をexportするモジュールにするのが普通。
perlmod読んでパッケージとモジュールについて勉強するのがいいだろう。
■ このスレッドは過去ログ倉庫に格納されています