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

【Perl】初心者コーナー Part13

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん02/05/30 13:06ID:R2kt1mTx
いらっしゃーい、Perlの「コーディング」で困ってる人のスレです。

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

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

CGIの質問は【CGIだけど、なんか質問ある? part 6】
http://pc.2ch.net/test/read.cgi/php/1019561283/
参考書籍の話題は【【Perl,CGI】参考書籍 第2版】
http://pc.2ch.net/test/read.cgi/php/988809842/
その他の雑多な話題は、【CGIに依存しないPerlの話題一般】
http://pc.2ch.net/test/read.cgi/php/991313362/
スクリプトの改造依頼は 【スクリプト改造工房 Part4】
http://pc.2ch.net/test/read.cgi/php/1012839651/

過去ログ、その他の役立ち情報は>>2-10あたりを見よう。
0285nobodyさん02/06/16 22:51ID:???
>>284
#!/usr/local/bin/perl
print "Content-type:text/html\n\n";

$xx = "abc";
$yy = "def";

if ( 'あ' eq 'あ' ) {
print $xx;
} else {
print $yy;
}

abc って出ましたが。
0286nobodyさん02/06/16 23:01ID:Us0jeEkd
>>285
あぁ〜文字列はシングルクォーテーションで囲ったらイイんですね??
ありがとうございます!
でも あ を a に変えると囲まなくてもいけるみたいですがなぜでしょう??
aも文字列のはず、、、、
0287nobodyさん02/06/16 23:31ID:z5KHLw2y
>>284
''か""で囲まないと文字列じゃないぞ・・・
0288nobodyさん02/06/17 00:35ID:9jM4ZJCT
http://www.mbay.net/~mpeppler/Sybperl/sybperl.html#sybase::dblib

この
NO_MORE_RESULTS
って、どうしてクォーテーションがいらないのでしょう?

0289nobodyさん02/06/17 01:01ID:rACyARGq
>>288
開けない
0290hoge02/06/17 04:03ID:aKd0pgn8
sub MOE { "sakura" }
print MOE, "\n";
0291nobodyさん02/06/17 05:46ID:???
>>286
ぐーぐるさんに聞いて見れば?キーワードはbarewordとperl。
ていうかおれもPerlのbarewordの扱いについてはよくわからn。
0292nobodyさん02/06/17 08:51ID:???
Perlは「自分の知らない識別子」をクォートされていると解釈するんだよ。

$foo = bar;
$baz = bar::bax;
print $foo, $bar;

だが"sub bar;"やsubsなどで前方宣言されているとこれらはサブルーチンと見なされる。
use strict 'subs'を使うとこのような裸のワードに対して致命的エラーを発生させられるよ。
0293nobodyさん02/06/17 09:06ID:???
>>292 にもう少し足すとuse strictしててもハッシュキーと=>は特別:

use strict;
my %hash = ( foo => 'bar', baz => 'gad' );
print $hash{ foo }, "\n";
$hash{ baz } = 'boo';

ハッシュキーは基本的に[a-z0-9_]を使ってる限りクオートする
必要はない。また => を使うと、左側のbarewordは自動的に
文字列に変換される。
0294nobodyさん02/06/17 10:21ID:???
Perl6では>>292的なベアワードの自動クォートは撤廃されるもよう。
(ただし>>293はPerl6でもオーケーっぽい)
ラリーヲールの黙示録2を見よ。
http://dev.perl.org/perl6/apocalypse/2#bareword%20policy

#どこかに黙示録の和訳ってねーですか?あったら教えてください。おながいします。
0295nobodyさん02/06/17 13:21ID:???
Perl6で撤廃か。まぁ妥当だね。
0296nobodyさん02/06/17 21:33ID:8ZfnaOKh
簡単なスクリプトでテストしてみても読み書き両用でファイルが開けません。なぜでしょう?
Windows上では使えないのでしょうか?

        ↓
open(FILE, "+>$file");

環境はWin2000+Apache1.3.24です。
0297nobodyさん02/06/17 21:38ID:???
>296
なにが上手くいかないの?
同じ環境できちんと動くけど。
まさか保存されてるファイルが読み出せないとかじゃないよね?
だって最初に初期化してから書き読みモードで開いているんだから。
読み書きモードじゃなくて。
開けないって言ってるから、openが失敗してるんだよね?
ファイルの作成もできないんだよね?
そうだよね?
0298nobodyさん02/06/17 21:46ID:???
>>297
いぢめすぎ(w
029929602/06/17 21:49ID:8ZfnaOKh
たとえばこんな感じにしてもファイルは作成されるのに空のファイルなんです・・。
A
A  予想ではAが縦にならぶはずだと思うんですけど・・
A

open(IN, "+>$file");
@data = <IN>;
$data = "A\n";
unshift(@data, "$data");
print IN @data;
close(IN);
0300a02/06/17 22:28ID:???
ある某ゲーム(バトルロワイアル)を自分のホムペに乗せたいのですが...
初心者なので何をしてよいのかまったくわかりません。
教えてください。お願いします
0301nobodyさん02/06/17 22:37ID:???
ゲーム厨房消えろお願いするな乗せるな氏ね。
0302nobodyさん02/06/17 22:46ID:???
>299
書き読みモードと読み書きモードの違いってわかる?

書き読みモードの手順
空ファイル作成>ファイル読み書き

読み書きモードの手順
ファイル読み書き

それと、ファイルポインタの変更しないと色々問題出るぞ。
わからないなら無理に読み書きモードは使わない方がいいかも。
030329602/06/17 23:12ID:???
>>302
>書き読みモードと読み書きモードの違いってわかる?
ありがとうございます。分かってなかったですね。。
それでいろいろやってみて

open(IN, "+<$file");
@data = <IN>;
$data = "A\n";
unshift(@data, "$data");
seek(IN, 0, 0);
print IN @data;
close(IN);

これで動くようになりました。「+<」←これ手持ちの本に載ってなかった・・(´Д`;)
0304nobodyさん02/06/17 23:41ID:/p2D1YQW
Perlとちょっと関係ないですが、
全ての環境変数を表示した際、他人に見られるとマズイ情報ってありますか?
0305お頼み申す02/06/18 02:03ID:giO2VPVu
掲示板に関して一つアドバイスを願いたいんです。

普段は掲示板のタイトルが見られる。
でも書き込み(新規スレ立て、レス共に)はログイン/認証しないと
できないというような物はありますか?
探し続けて見あたらず無理なのかなと諦め気味。
いかがでしょうか?
0306nobodyさん02/06/18 02:23ID:zmbvlCMy
探すより作った方が遥かに早い罠
というか100%すれ違いです。
0307nobodyさん02/06/18 03:40ID:7mI4OrKx
aska(http://www.kent-web.com/bbs/aska.html)の
i-mode版(http://red.tomato.nu/desperado/software/)に、
i-PADv2(http://www.kent-web.com/bbs/ipad/ipad2.cgi)みたいに
返信がいくつ返ってきてるかわかる表示を加えたいんですが・・・
0308nobodyさん02/06/18 04:28ID:???
>>307
で?どこまで自分でやったんだい?
0309nobodyさん02/06/18 04:45ID:???
>>307
一日中掲示板に張り付いて誰かが返信する度にキミが書き換える。
0310nobodyさん02/06/18 08:36ID:???
>>307
マルチ氏ね
0311nobodyさん02/06/18 10:45ID:???
お前ら、【Perl】と関係ない質問は放置してください。
0312nobodyさん02/06/18 13:03ID:???
あほな質問で済みませんが
Jcode.pmってActiveperlにはインストールできないんでしょうか?
0313nobodyさん02/06/18 15:36ID:???
>>312
出来ます。オフィシャル嫁。
0314nobodyさん02/06/18 16:38ID:OAKwZ56o
Win+Apache環境で ScriptInterpreterSource registry でスクリプトを実行する場合、
#!/usr/bin/perl -w のオプションは機能しませんよね?(実際機能してないようなので。)
031531402/06/18 16:44ID:???
#!/usr/bin/perl ←これ自体なくても動くようなのでコメントアウトされてるみたいですね。
0316nobodyさん02/06/18 18:21ID:???
質問です。

use strict;

my ($a, $b);
local $c;

$a = 2;
$b = 3;
$c = $a + $b;

print "Content-type: text/html; charset=EUC-JP\n\n";
print $c;

こうすると
Global symbol "$c" requires explicit package name at (eval 1) line 6.
Global symbol "$c" requires explicit package name at (eval 1) line 10.
Global symbol "$c" requires explicit package name at (eval 1) line 13.
こういうエラーが出るのですが、すべてレキシカル変数にすると動きます。
なぜローカル変数だとuse strictでエラーが出るのでしょうか?
実際のスクリプトは複雑でどうしても$cをローカル変数で使いたいのです。
どうすればグローバル変数を使わずに正常に動かすことができるでしょうか?
0317nobodyさん02/06/18 21:52ID:???
>>316
なぜエラーになるかは、perldoc strict を読むべし。
「variable suicide問題を避けるため」らしい。よくわからんけど。

どうしてもlocal変数を使わなくてはいけない場合は、
use vars ('$c', '@array', '%hash'); # perl5.0
または
our ($c, @array, %hash); # perl5.6
みたいに、最初に変数名を宣言(というかシンボルテーブルに登録)しておく。

以上、経験則のみで答えますた。詳しくは識者の登場を待て。
0318nobodyさん02/06/18 22:39ID:???
>>317
ありがとうございます。

>use vars ('$c', '@array', '%hash'); # perl5.0
>または
>our ($c, @array, %hash); # perl5.6
これでいけました。恥ずかしながら今まで知らなかったので(汗)、これを機に勉強してみます。
0319nobodyさん02/06/19 01:44ID:nhdfxt0t
モジュールのインストールをしようとして、
make testをすると、『Test/More.pmが見つかりません』というようなことを言
われます。More.pmは何かのファイルに同梱されてるのでしょうか?
一応以下のURLを探してみたのですが、見つかりません…。
http://www.cpan.org/modules/by-module/

どなたかMore.pmがある場所を教えて下さい。
0320nobodyさん02/06/19 02:03ID:???
http://search.cpan.org/search?dist=Test-More
0321nobodyさん02/06/19 02:32ID:???
>>320
解決しました。
Test-Moreはもう古く、入れるならTest-Simpleでやってくれと
言われて、Test-Simple-0.44.tar.gzを入れました。
うまくいきました。

ありがとうございました。
0322nobodyさん02/06/19 19:05ID:oqQh34R0
<img src ="test.cgi">でCGIを呼び出して
画像を表示させたいのですが上手くいきません

print "Content-type: image/gif\n\n";
open(IMG,"test.gif");
binmode(IMG);
binmode(STDOUT);
print <IMG>;
close(IMG);

KENTカウンタからそれらしい部分を
抜き出してみましたが動きません
画像はとほほカウンタのを使ってテストしてるので
変なヘッダーが入ってるということはないと思います。

http://www.angelfire.com/ak5/2ch-web-program/kako/957208980.htmlの
600も試してみましたが動きません…。
誰か助けてください…。(;´д`)

#画像表示すらできない自分が情けない(´Д⊂
0323s02/06/19 19:28ID:???
直接その test.cgi をURLリクエストして確認してみては?

みたところおかしな部分はないようです。他の部分ってことない?
0324nobodyさん02/06/19 19:29ID:???
>>322

> print <IMG>

↑この部分を↓こう変えてみそ

while ( $cb = read( IMG, $data, 2048 ) ) {
 print $data;
}
0325LWPを使ってみたいのですが02/06/19 21:29ID:FGMnMj5W
>>273-277を読みました。

LWPをダウンロードしてきたけど、なんかひとつのpmファイルになってないようで
そのまま使えそうにありません。

使用してるのはwakwakのCGIなので使用条件が載っているページを見てみたのですが
perl5.6で標準ライブラリ?は利用できるようです。
で、標準ライブラリにあるか
試しにuse LWP::Simple;でCGIを動かしてみたのですが、内部エラーになりました。

LWPは、この環境では使うことはできないのでしょうか?

・インストールする方法(できないと思うが)
・インストールせずにデレクトリに配置して動かす方法
・他のCGI可無料HPですでにLWPがインストールされてるのでそこを使うといい
等々、なにか良い方法はないのでしょうか?

使うのは多分LWP::SimpleでHTMLドキュメントを引っ張ってくるだけです。
032632202/06/19 21:51ID:???
>>323-324
ありがとうございます。
原因はわかりませんが、両方の方法を試してみて
ダメだったので元に戻したら表示されました (´∀`;)意味わかんねス

0327nobodyさん02/06/19 22:33ID:???
>>325
LWPはperlコードだけで構成されてるから、自分で入れることも可能だと思う。
ただしLWPが入ってないサーバつーのは、そもそもソケットの使用を禁止してる場合も多い。
そんときはLWPを入れても無意味。
0328LWPを使ってみたいのですが02/06/20 00:34ID:XCYMLnG6
>>327

use Socket; 自体は動作しますが、Socketで通信を許しているのは localhostへのsmtp/tcpのみとなります。
だそうです。

これって望み薄ですか?
ちなみにやり方間違ってるっていうチョンボはしてませんよね?(僕)
ただuse LWP::Simple;としているだけなのですが・・・
0329LWPを使ってみたいのですが02/06/20 01:43ID:+cy8aoAH
イチかバチか入れてみました。
自作CGIのでバック設定というのができるみたいで
それを使ってやってみました。

最初は、HTTP/Statusのパスがうまく行っていなかったようなので
@INC追加したら、そこはクリアできました。

ただ
unless(defined($content = get $url)){
のところで
Can't call method "get" on an undefined value
が出てしまいました。これは無理と言うことでしょうか?
0330nobodyさん02/06/20 07:49ID:???
>>328-329
>Socketで通信を許しているのは localhostへのsmtp/tcp
駄目ジャン。
smtp/tcpってメール送信用のポートだし。localhostのみだし。
0331LWPを使ってみたいのですが02/06/20 15:27ID:zhAJDQeR
そうですか(トホホ

どっか、CGI可無料HPでできそうなところないですかね。
0332nobodyさん02/06/20 19:54ID:???
自鯖たてろ
0333nobodyさん02/06/21 03:04ID:???
ActivePerl 5.6.1 build 633
0334nobodyさん02/06/21 03:40ID:ovOj5UMI
PERLでBEEPの制御ってできますか?できないっすよね。。
0335nobodyさん02/06/21 06:01ID:???
もっと自信を持って発言しろよ。
できないYO!!
0336nobodyさん02/06/21 06:03ID:???
っていうかBEEPって知らないYO!!!
0337nobodyさん02/06/21 06:26ID:???
>>334
print "\a";
こういうことじゃなくて?
0338nobodyさん02/06/21 09:43ID:???
>>333
ActivePerlの(マイナーチェンジの)変更履歴ってどこにあるんだろ…。
英語ワカラソ
0339nobodyさん02/06/21 11:37ID:Qqq2SOCG
単語をどうやって発音したらよいかがわかるサイトってどっかありませんか?

Array→アレイ とか
$→スカラー とかいうふうに。

require ってどう発音していいかわからないんですよ(汗)。
0340nobodyさん02/06/21 11:41ID:???
辞書で発音記号見ましょう $→スカラーって読むわけじゃないし
0341nobodyさん02/06/21 12:10ID:???
その発音記号が読めないんです。あうう。
0342nobodyさん02/06/21 12:19ID:???
>341
発音記号の読み方を勉強しましょう。
0343nobodyさん02/06/21 13:39ID:???
う。マジメに発音記号の読み方を勉強しはじめてしまいました。

普通、発音記号の読み方って授業でやるもんですか?
うちんとこやらなかったんですよ。
商業科だったんで。

parentsとかも、その<p>で始まるやつ!親っていう意味だ! と、いう覚え方してるもんなあ……簡単なのは読めるんですが。
0344nobodyさん02/06/21 13:43ID:???
どうやってよむんだ? っていう続きで、
chdirとか。
Change Directoryの略でええんかい? とか。
まあ、いろいろと疑問があったんで、そういうの解説してるようなサイトとかないかなーって前から思ってたんですよ。
0345nobodyさん02/06/21 13:48ID:???
>343
商業化の中学校なんてあるのか。

>344
その単語で検索をかけるとかしてみた?
ttp://www.google.com/search?as_q=chdir+change+directory&num=100&hl=ja&ie=UTF-8&oe=UTF8&btnG=Google+%E6%A4%9C%E7%B4%A2&as_epq=&as_oq=&as_eq=&lr=lang_ja&as_ft=i&as_filetype=&as_qdr=all&as_occt=any&as_dt=i&as_sitesearch=
1520件もひっかかるんだけど。
0346nobodyさん02/06/21 13:50ID:???
>345 =~ s/商業化/商業科/;
小学校からやり直してきまつ。
0347nobodyさん02/06/21 16:22ID:???
>>345
chdir、
意味は知ってるんですけど。
音の発音が。

直でよむとチヂラ(藁<ソレハイカンダロウト
0348nobodyさん02/06/21 16:24ID:???
>>345
引っかかりはするんですが、大量に引っかかりすぎてみつけられなかったのですわ(苦藁
0349nobodyさん02/06/21 16:45ID:???
>347
発音記号は英和辞典に載ってる。
読め。

>348
一番上にひっかかるサイトにかなり載ってる。
読め。

じゃなければ検索用語に他のコマンドも入れてみろ。
頭使え。
0350nobodyさん02/06/21 17:26ID:???
chdirなんかを口に出して言う機会はほとんどないが、
脳内では「しーえっちでぃあ」って言ってる・・・(w
0351nobodyさん02/06/21 20:55ID:???
何故か脳内では"チディル"だな。
口に出すときは"チェンジディレクトリ"だけど。
0352nobodyさん02/06/21 20:59ID:YFodOum0

英語圏ではちだーですね
0353nobodyさん02/06/21 21:20ID:???
英語圏だけど「しーえいちでぃあ(←うーん、微妙に違うな)」だな。
0354nobodyさん02/06/21 21:52ID:???
自分で書いたモジュールで
Makefile.plっていうのは自分で書かなきゃきけないんですか?
自動で生成するツールはないでしょうか?
0355nobodyさん02/06/21 22:11ID:???
>>354
一応h2xsっつーユーティリティがPerlについてくるが、
Makefile.PLなんてそんな面倒なモンでもないだろ。
035635402/06/21 22:35ID:???
>>355
ありがとんヽ(´ー`)ノ 
0357nobodyさん02/06/22 00:31ID:???
ActivePerl-5.6.1.633-MSWin32-x86.msi
挿れようとしたらインストールが完走しない…鬱
0358nobodyさん02/06/22 00:38ID:???
>>357
ペッティングが足りないんだよ
0359nobodyさん02/06/22 00:42ID:???
>>358
完走しました?
0360 02/06/22 01:03ID:???
>>357
俺はできたぜ
0361nobodyさん02/06/22 01:15ID:???
わけわからんっ音符
0362nobodyさん02/06/22 01:58ID:???
>>360
激しく感謝!!

よく見たらHDD残量が150MBしかなかったので、足りない悪寒でした。
(−_−)ウツダシノウ
嗚呼、10MBもあるドキュメン入れたくねぇ…
0363nobodyさん02/06/22 09:50ID:???
ちょい質問。
ActivePerlって下の環境残したまま上書きインストール出来るっけ?
最新版にしたくてもそれがほそろしくて試せない…
0364nobodyさん02/06/22 10:40ID:KPuvG/sZ
「Web クライアント プログラム」(オライリー・ジャパン)の 例題 hcat.pl
use LWP::UserAgent;
use HTTP::Request;
use HTTP::Response;

my $ua = new LWP::UserAgent;
my $request = new HTTP::Request('GET', $ARGV[0]);
my $response = $ua->request($request);

if ($response->is_success) {
print $response->content;
} else {
print $response->error_as_HTML;
}
で、
hcat.pl http://www.hyuki.com/dp/dp.jpg > dp.jpg
とすして、dp.jpgを見ると、ちゃんとした画像になりません。
どうしてでしょうか。教えてください。
環境は、ActivePerl v5.6.1 built for MSWin32-x86-multi-thread、
windows2000 professional です。
0365xx02/06/22 10:49ID:???
ちゃんとした画像にならないということは、ぐだぐだな画像になってしまうのか、
開けないけど容量はあるってことだろうから、ファイルハンドルを binmode
すれば?
0366 02/06/22 12:03ID:???
>>363
できるけどオススメしない。
0367nobodyさん02/06/22 12:11ID:???
>>363
旧Ver.に戻すのは簡単
ttp://downloads.activestate.com/
0368べっくあむ02/06/22 12:16ID:9y/Dp6Qo
PerlのDBIを使って、MySQLを操作しようとしています。
書籍やインターネットでやり方を調べていく中で、次のような
注意事項が記載しているものを見つけました。

1:$dbh = DBI->connect(****);
2:$sth = $dbh->prepare(*****);
3:$sth->execute();
4:$sth->finish();
5:$sth = $dbh->prepare(*****);
6:$sth->execute();
7:$sth->finish();
8:$dbh->disconnect();
の様に一回のDBコネクション中で2回のコマンド発行を
するときは、一回目(上記2〜4)と二回目(上記5〜7)で
ハンドル変数名を変えなければならない(例えば5〜7は
$sthではなく、$sth2にする)というものです。

自分の環境下の簡単なプログラム中では問題なく
動いているのですが、本当に注意すべき内容なのでしょうか?
0369nobodyさん02/06/22 14:04ID:fNvTUaUi
                           __
..⌒ヽ           ' ⌒ヽ          /.|:::::::::::|
乂乂||          |乂乂||        |  |:::::::::::|
乂乂||          |乂乂||        |  |:::::::::::|
乂乂||          |乂乂||   ___|_|:::::::::::|____
乂乂||          |乂乂||  /|::::::::::::::::::::::::::::::::::::::::::::::::::::::::|
 ̄ ̄            ̄ ̄  i  |::::::::::::::::::::::::::::::::::::::::::::::::::::::::|
      _____         .|/ ̄ ̄ ̄../|:::::::::::| ̄ ̄ ̄/
     ||L L | L L ||        ̄ ̄ ̄ ̄|  |:::::::::::| ̄ ̄ ̄
     ||L L | L L ||               |  |:::::::::::|
     ||L L | L L ||_________ .|  |:::::::::::|
===========l| L L l================= i  |:::::::::::|
二二二二二二ヽ   iヽ二二二二二二二二i  |:::::::::::|
:::::::::::::::::::::::::::::::::::i   ヽ|     _____.i  |:::::::::::|
 ̄ ̄ ̄ ̄ ̄ ̄ ̄\  ((( )))_______|  |:::::::::::|
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|......( ´Д`)._____|  |:::::::::::|__
::::::::::::::::::::::::::::::::::::::::: |  /  (S)::::::i\  ....|  |:::::::::::|  \
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| .\ ....\|:::::::::::|    \
      ____/|____  .|   .\    ̄ ̄
     /
     | Perlスクリプトから、2ちゃんに書き込める方法を教えてください。
     \_______________
0370永久会員パスが書き込みするだけで当たる02/06/22 14:12ID:E0ppwG7L
http://s1p.net/rvvvvh

 http://s1p.net/tyyopp

わりきり出会い
   
   UG-S的出会い

   PCのみ受付中  
男性、女性書き込み
キャンペ-ン中
 おかげさまで5000HT
ラッキナンバー
(111,333,555,777,999)
男性、女性書き込み するだけ
当選者には永久会員パスワード
と1万円プレゼント!!
0371nobodyさん02/06/22 14:57ID:???
>>368
別に変えなければ動かないということはないけど違う用途の
(ハンドル|オブジェクト|数|文字列|・・・)を同じ変数に代入して
変数を使いまわすのは間違いをおかしやすかったりとあまり良い
スタイルとは言えないかも。

(同様に$sth1、$sth2という名前もお勧めできない)
0372nobodyさん02/06/22 19:01ID:PwKD5Bpr

$dir = ディレクトリ 、 $file = 数字

open(DATAOUT, "+< $dir . $file . '.dat'") || die &Error;

えっとこういう処理があるんですが、読み書きモードでファイルを開けないんです。
というかファイル名を認識してくれないみたいです。

open(DATAOUT, $dir . $thismonth . '.data') || die &Error;

↑このように読み込みモードだとちゃんと認識してくれるんですが、読み書きモードでちゃんと
認識するようにするにはどうすればよいでしょうか?

いろいろ "" を '' にしたり、. を \. にしてみたりしたんですがうまくいきません・・。
お願いします。
0373nobodyさん02/06/22 19:36ID:???
>372
もうちょっとダブルクォーテーションについて考えてみた方がいいぞ。

open(DATAOUT, "+<$dir$file\.dat") || die &Error;
037437202/06/22 19:42ID:???
>>373
おぉ〜〜〜できましたっ!! ありがとうございます!

>もうちょっとダブルクォーテーションについて考えてみた方がいいぞ。
はい考えてみます (´Д`;;)

ありがとう。
0375アルバムモナ02/06/22 19:57ID:sE7wyej0
JPEGの縦横サイズを吐き出すライブラリがほしいのですが下記で見つけたものでは
Exif形式に対応してなくて困っています。
下記のものを改造してExif形式にも対応させたいのですがどのようにしたらいいでしょうか
教えてください。
http://www.aleph.co.jp/~fujiwara/perl/get_imgsize.pl
0376べっくあむ02/06/22 21:20ID:9y/Dp6Qo
>>371
ありがとうございます。
動作上は問題ないと言うことですね。

>変数を使いまわすのは間違いをおかしやすかったりとあまり良い
>スタイルとは言えないかも。
確かにこんな変数名では、ちょっとしたタイプミスで、
見つけ難いバグを自らの手で作ってしまいますよね。
気をつけてみます。
0377nobodyさん02/06/22 21:20ID:???
>>375
そんな3年も前の化石なんか使うなよ。
これじゃだめなのか。
http://search.cpan.org/search?dist=Image-Size
0378nobodyさん02/06/22 22:37ID:???
掲示板で、半角カナが文字化けしてしまうことがあるんですが、対策とかないですか?
半角カナを全角に変換とかはしたくないんですけど。。
0379xx02/06/22 23:26ID:???
>378
サーバの環境および現在のフォーム出力文字コードぐらいは書いてもらわないと、、、、
0380nobodyさん02/06/23 18:26ID:izD8oNpG
win2kのCドライブにapache1.3.26、ActivePerl-5.6.1ビルド631をインストールしました。
Dドライブにある下記のようなCGIスクリプトをapache経由で実行したら、
. のみでした。

そこで、コマンドプロント上で「perl inc.cgi」と実行したら、
ちゃっんと
C:/usr/local/lib
C:/usr/local/site/lib
.
とでます。

apache経由でも
C:/usr/local/lib
C:/usr/local/site/lib
.
になるようにできますか?

-----
#!/usr/bin/perl
print "Content-type:text/html\n\n<xmp>";
for(@INC){
print $_,"\n";
}
exit;
------
0381nobodyさん02/06/23 18:30ID:jOy7H3G4
>>380
原因はよくしらないがperl -Iでどうかね。
それか@INCに対しpushするか。
0382nobodyさん02/06/23 18:38ID:???
>>380
まったく同じ環境でちゃんと表示されますが。
038338002/06/23 19:00ID:???
原因がわかりました。
perlをc:/usr/local にインストールしたのですが、
/usr/bin/perl のスクリプトでも使えるように、
C:/usr/local/binをc:/usr にコピーしてたのが原因だったようです。


#前まではできてたのになぁ。。。
0384nobodyさん02/06/24 01:51ID:???
while(<>){
$n=pack "h*", "$_";
print $n;
}
で読み込んだテキストを元にもどす方法ってどうやるんですか?
while(<>){
$n=unpack "h*", "$_";
print $n;
}

じゃだめなんですけど
■ このスレッドは過去ログ倉庫に格納されています