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

【Perl 】初心者コーナーPart7

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい01/09/12 13:04ID:???
いらっしゃーい、perlのコーディングで困ってる人のスレです。

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

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

参考書籍はこちら【【Perl,CGI】参考書籍 第2版 】
http://corn.2ch.net/test/read.cgi?bbs=php&key=988809842&ls=50
CGIの質問はこちら【CGIだけど、なんか質問ある?part3】
http://corn.2ch.net/test/read.cgi?bbs=php&key=988727833&ls=50

過去ログ、その他の役立ち情報は>>2-5を見よう。
0347名無しさん@お腹いっぱい。01/09/25 23:27ID:???
家の外にアイスクリームを置いて下さい。
暫らくすると蟻が沢山寄ってくるのでそれをパンツに突っ込んで下さい。
上級者向けだけど・・・・頑張って!!
0348名無しさん@お腹いっぱい。01/09/26 07:22ID:TfbH1r3A
HTTPではじまる環境変数ってどれくらい種類あるの?
0349名無しさん@お腹いっぱい。01/09/26 08:46ID:???
>>348
自分で調べろ。
0350JAPU01/09/26 09:12ID:???
無限にあります。
0351らくだ01/09/26 15:40ID:???
でかいプログラムを書くと自分の作った関数がどこで呼ばれているかが把握できなくなりませんか?
そういうときに簡単に関数の呼び、呼ばれリストが作成できるツールってないのかな?
0352名無しさん@お腹いっぱい。01/09/26 15:46ID:???
関数作る際自分でメモっとけ。
0353らくだ01/09/26 15:55ID:???
なんか開発ツールとかないのかな?
JavaのForteとかJbuilderみたいな。
0354名無しさん@お腹いっぱい。01/09/26 17:11ID:???
>>351
全文検索
0355らくだ01/09/26 17:13ID:???
>>352
てめぇの厨房CGIと違って関数100個以上もあるんだよ。

#!/opt/bin/perl5
print "352 逝っとけ\n";
0356名無しさん@お腹いっぱい。01/09/26 17:15ID:???
>>355 煽りウザイ。死んどけ。
0357名無しさん01/09/26 17:20ID:mymJ1qjA
どこで呼ばれてるかの確認ってひつようかしら
0358名無しさん@お腹いっぱい。01/09/26 17:25ID:???
>>357
まぁ必要だから聞いてるんじゃない?

つーか関数100個以上・・・・。

モジュールとかに分けろよ。

そっちがよっぽど厨房ゲフンゲフン

いやその前に関数多けりゃどうって話じゃねーだろ。
0359名無しさん@お腹いっぱい。01/09/26 17:31ID:???
grepで一発ジャン。
馬鹿ばっかだな。
0360名無しさん@お腹いっぱい。01/09/26 17:39ID:???
質問の本質をわかってない馬鹿発見。
0361名無しさん@お腹いっぱい。01/09/26 17:40ID:???
コテハン糞レスの法則
0362名無しさん@お腹いっぱい。01/09/26 18:00ID:???
一部を除いて、どうしてこんなにレベルが低いのだろう。
0363らくだ01/09/26 22:15ID:???
>> 358,359
モジュールでも共通度が高いと意味がない。
厨房SEはとりあえず黙って逝ってください。

あとgrepじゃ、全体が把握できないでしょ?
君は厨房UNIX使いだから逝っといてね。
0364名無しさん@お腹いっぱい。01/09/26 22:18ID:SfAEbkLc
>>351
プロファイラで代用するのは?

(1) hoge.plを実行してプロファイルtmon.outを作成
perl -d:Dprof hoge.pl

(2) tmon.outを解析して関数呼び出しのツリーを表示
dprofpp -t

ただし、あくまでもプロファイラの機能の一部なので、
実際に呼ばれた関数を記録して表示するだけ。
351の意図するところと多少違うとは思う。
0365名無しさん@お腹いっぱい。01/09/26 22:32ID:???
共通度が高いのはモジュールとして一番望ましいんじゃねーの?
困った君だね。
0366名無しさん@お腹いっぱい。01/09/26 22:41ID:???
「共通度が高い」という用語の共通度が低いのでは?>そこのふたり
0367名無しさん@お腹いっぱい。01/09/26 23:12ID:???
ややこしくなってきたけど納得。>>366
0368当方へたれ01/09/26 23:18ID:???
使ったことないが,これなんかはどうだろう。
http://www.bekknet.ad.jp/~bero/docj/module/03/index.html

関数呼び出しリストならPerlで書けそう。
へたれには無理だが。

つーか関数が把握できなくなるような設計はヘボだと思う。
strict使ったり,パッケージ分けやプロトタイプ宣言とか
スコープ狭くしたりすれば,あるていどはマシになるかと
0369名無しさん@お腹いっぱい。01/09/27 01:01ID:wv3pEXiA
解答者を質問者が煽るというのが最近の流行りなのか?
0370名無しさん@お腹いっぱい。01/09/27 01:14ID:???
>つーか関数が把握できなくなるような設計はヘボだと思う。
激しく同意。

>解答者を質問者が煽るというのが最近の流行りなのか?
らくだ氏は明らかに精神を病んでおられるので・・・・
0371名無しさん@お腹いっぱい。01/09/27 02:55ID:Mu4f6YjE
sentence for (;;;);

な書き方ができないのを今始めて知った。

なぜだ。何か問題があったのか。
0372101/09/27 03:00ID:SujucJS2
その画像ならココ
http://www.f2.dion.ne.jp/~impact14/
0373名無しさん@お腹いっぱい。01/09/27 03:01ID:???
>>371
forに修飾子はありません。
for修飾子が成立する時はforeachとして解釈されます。
よって()の中はリスト値でなければいけない、と。
037437101/09/27 03:27ID:Mu4f6YjE
>>373
さんきゅう ふぉー ゆあ かいんどねす

そういえば、
print for(1..10);
みたいなことはできるんだよな。なるほど納得。

でも、senetense for(;;) で使ったときに、なんか不味いことでもあるんかなぁ。
見栄え上というか、他の意味と取り違えやすくなったりとか?
037537301/09/27 03:40ID:???
確信あるわけではないけど。

修飾子の時は sentense for 1..10 みたいに書ける。
というか、自分は(1..10)みたくカッコ付けないです。
んで、(;;)の場合はカッコ無いと死んでしまう。

結局構文解釈上の問題なのかな?と。
# 多いに外している可能性があります。
# 識者の補足/説明希望。
0376名無しさん@お腹いっぱい。01/09/27 14:58ID:199fgLMY
>>353
ActiveState社からVisual Perlが出ています。ただし有償ですけど。
ActivePerlは無償なんだけど、Debuggerは有償なんですね、ここ。
0377Perlあまちゅあ01/09/27 15:34ID:n78xCnwc
すいません、コマンドラインで<STDIN>時に「キーボードから入力する文字数」を制限するのは、
どうすれば良いのでしょう?

(例えば、コマンドラインで、パスワードを入力するときに、8文字なら8文字と決まっていて、
9文字目は入力しても、画面には表示されない。)

OS非依存が良いのですが、依存せざるを得ないのであれば、Win依存でお願いします。
(キーが押されたってことを検出できれば、それをループでまわせるとは思うんですが、
 C言語のgetche や kbhitに相当するPerl関数がわからないんです。。とほほ。。。。)

厨な質問ですみません。(「CGIに依存しないPerlの話題一般」とのマルチポストでスンマソン)
0378名無しさん@お腹いっぱい。01/09/27 15:43ID:???
( ´,_ゝ`) あっそー
0379名無しさん@お腹いっぱい。01/09/27 17:02ID:???
Jフォンから、写真添付メールを送ると、
そのまま掲示板に掲載することのできるCGIはありませんか?
0380名無しさん@お腹いっぱい。01/09/27 17:14ID:???
>>379 shine
0381名無しさん@お腹いっぱい。01/09/27 17:27ID:088OSBr6
ENVのHTTP_X_LOCKINGとHTTP_FORMってなんですか?
色々調べてみたのですが不明です。
0382むぎ茶      01/09/27 18:09ID:???
色々調べたのにそんな事も分からない君に乾杯  (n

┐(´ー`)┌


┏━━━━━━━━━┓
┃('Д')y ─┛~~  ┃
┃むぎ茶       ┃
┃[email protected]   ┃
┗━━━━━━━━━┛
0383名無しさん@お腹いっぱい。01/09/27 18:32ID:2d.Y65Hw
HTTP::Cookiesについて質問です。
LWP::UserAgentを使ってPDA用中継サーバーを実験で作っています。

サーバーから送信されたcookieを受信して
$cookie_jar->save( $file );
でファイルに書き出すことはできたのですが
内容を要素毎に取り出す方法がよくわかりません。

要素毎に取り出してクライアントのブラウザに登録したいのですが
どのようにしたらいいのでしょうか?

初心者スレッドでする質問でもないような気がしますがほかに
いいスレッドがなかったのでここに質問しました。
0384Mr.ちん01/09/27 18:43ID:Va6tTvlc
申し訳ありません。
質問があります。


CGI単体で指定フレームにリンクを飛ばせるものですか?

HTMLのMETAとか
Javascriptのlocationとかを吐き出させる方法以外で。

できるか、できないかだけでも教えてください。
宜しくお願いします。
0385名無しさん@お腹いっぱい。01/09/27 19:00ID:???
意味不明。
0386名無しさん@お腹いっぱい。01/09/27 19:12ID:???
( ´,_ゝ`) あっそー
0387名無しさん@お腹いっぱい。01/09/27 19:21ID:???
>>383
HTTP::Cookieって使ったこと無いけど、どんな風にcookieがファイル
に書き出されるの?
書き出されたファイルを見れば分かりそうなもんだと思うのだが。
0388名無しさん@お腹いっぱい。01/09/27 20:00ID:???
>>377

Cで出来ることがわかっているなら、Cでやったら?
このあたりは環境依存は仕方ない気がする。
モジュールあさればあるんだろうけど。

> h2xs -An Win32::Getch

## Getch.xs

#include <conio.h>

MODULE= .. PACKAGE = .. PREFIX = _

int
_getch

int
_getche

int
_kbhit

## Getch.pm

our @EXPORT = qw(getch getche kbhit);


> perl Makefile.PL
> nmake
> nmake install
> perl -MWin32::Getch -e "print chr(getch) while $c++ < 8
0389名無しさん@お腹いっぱい。01/09/27 20:17ID:???
つーかHTTPヘッダ云々は下のサイトでたいていは解決する。ちゃんと調べろ
http://dir.yahoo.co.jp/computers_and_internet/internet/world_wide_web/HTTP/
0390名無しさん@お腹いっぱい。01/09/27 21:01ID:???
>>389
どれに対するレスなのかまったくワカリマセン。
0391名無しさん@お腹いっぱい。01/09/27 22:56ID:???
>>385 >>386 >>389
どれに対するレスなのかまったくワカリマセン。
0392名無しさん@お腹いっぱい。01/09/27 23:04ID:???
>>390 >>391
( ´,_ゝ`) あっそー
039338301/09/27 23:05ID:???
$cookie_jar->as_string
でできました
039437701/09/28 02:51ID:AKSYR8.c
>388さん、親切にありがとう。

やっぱり、教えていただいたみたいに、C関数呼び出すしかないのかな〜。
んでもありがとう。とりあえず、これで良しとします。
CPANもちょと逝てきます。
0395名無しさん@お腹いっぱい。01/09/28 07:17ID:WAa6BHU6

$scalar = @array;
だと$scalarには@arrayの長さが代入され、
($scalar) = @array;
だと@arrayに入っている最初の要素が代入されます。

配列変数がどのようなものかは大体理解できました。
でも・・・。

$scalar = localtime;
print "$scalar\n";

とすると
Fri Sep 28 06:14:13 2001
という現在の結果が帰ってきます。

連想配列の場合、$scalarが括弧で括られているかそうでないかで結果が違うの
に、
$scalar = (localtime)[0];
($scalar) = (localtime)[0];
は同じ結果(秒)が帰ってきました。

$scalar = localtime[0];
とすると

この場合は[]にどんな数字を入れても
Thu Jul 13 20:14:04 1978
という結果が帰ってきます。

localtime()って配列関数の一種ではないのでしょうか?
どういう仕組みになっているのか把握できず、混乱しています。

よろしくお願いします。
0396名無しさん@お腹いっぱい。01/09/28 10:47ID:B/jfCTJo
aとbというファイルがあってaのファイルがロックされているときは
bのファイルに書き込むというのを考えているのですが
aがロックされているとき(またはbのファイル)という定義は
どのようにすればいいのでしょうか?
それともただ単にaファイルに書き込みできずにエラーとなったら
bファイルに書き込むという風にするしかないのでしょうか?
0397JAPU01/09/28 10:59ID:???
use Fcntl qw[:flock];

if(not flock FH, LOCK_EX|LOCK_NB) {
print "ロック中\n"
}

flock は advisory lock なんで、ロックでも操作できます。なので、そういう場合は flock で調べるしか無いです。

LOCK_EX ... exclusive lock
LOCK_NB ... do not block (ロックが成功するまで待たない)
0398396ではないが01/09/28 11:25ID:Qms.AdhU
上の式はFHというファイルがロックされてたらロック中とプリントする
ってこと?
初心者なものでifでこういうの初めてみました。
0399JAPU01/09/28 11:48ID:???
FHというファイルハンドルがロックされていれば「ロック中」と表示します。
040039601/09/28 12:08ID:Aoj3kwsY
>JAPU
ありがとうございます。まさかこんなに早くレスがつくとは思いませんでした。
ifでこんな風にもできるんですね。まだまだ修行がたりないようです。
なかなか使える感じです。
ありがとうございました。
0401名無しさん@お腹いっぱい。01/09/28 12:48ID:d/jxwhAU
>>395
localtimeは「スカラーコンテキスト」で評価されるとスカラー、
「リストコンテキスト」で評価されるとリストを返すから。
これで前半3つは理解できるはず。

で、最後の localtime[0]は、localtime([0])のカッコ省略形とみなせる。
つまりlocaltimeに [0]という引数を渡しているわけ。
[0]というのは無名配列へのリファレンスなので、
数値として評価すると何かの数値(そのアドレス?)が得られるんでしょう。

実際の[0]の値は↓これで見れるはず。
print [0], "\n"; #[0]をリファレンスとして表示
print [0]+0, "\n"; #強引に数値化して表示
0402名無しさん@お腹いっぱい。01/09/28 12:58ID:???
ハッシュ変数のキーの数を調べるにはどうすればいいですか?
0403名無しさん@お腹いっぱい。01/09/28 13:13ID:Aoj3kwsY
>402
keysでいいんじゃない
0404名無しさん@お腹いっぱい。01/09/28 13:18ID:LKBMQiGk
>JAPU
open(FH, "a") || open(FH, "b")||die "File 'data' Open Error.";
aがダメならbをFHとしてopenとかでも良くない?
0405JAPU01/09/28 13:22ID:???
open(FH, ">a") || open(FH, ">b") || die "File 'data' Open Error.";
ってことですか?
ロックされていても open 自体は成功しますが...
flock はあくまでも advisory lock なんで。
040640401/09/28 13:34ID:LKBMQiGk
ロックされててもopenできるの?
ではロックされてても追加で書き込みとかできるってことですか?
すいません。初心者なもので・・・
0407むぎ茶     01/09/28 14:10ID:???
:ではロックされてても追加で書き込みとかできるってことですか
頭大丈夫か?(n


┐(´ー`)┌


┏━━━━━━━━━┓
┃('Д')y ─┛~~ ┃
┃むぎ茶      ┃
┃[email protected]  ┃
┗━━━━━━━━━┛
0408名無しさん@お腹いっぱい。01/09/28 14:13ID:PZbmJOfw
openはできるけど書き込みはできないんじゃない?
0409名無しさん@お腹いっぱい。01/09/28 14:27ID:???
>>403
kyesだと真偽しか返ってきません。
一回keysで展開してカウントする以外にありますか??
0410名無しさん@お腹いっぱい。01/09/28 14:31ID:???
>>408
openできる。
読み書きもできる。

ロックはできない。

だと思ふ。
0411名無しさん@お腹いっぱい。01/09/28 14:42ID:???
>>409
それしかないと思うけどー。
よく見る例。 $n = scalar(keys(%hash));
0412名無しさん@お腹いっぱい。01/09/28 15:00ID:PZbmJOfw
>410
flock中のファイルはopenも出来て書き込みも出来るの?
それじゃロックの意味がないんじゃない?
カウンターとかでflockよくみるけどあれはファイルを同時アクセス
とかでなるべく壊さないようにロックするんでしょ?
じゃなきゃロックに意味がないよ〜
0413名無しさん@お腹いっぱい。01/09/28 15:05ID:???
>>412
もう少し考えてから発言する事を要求する。
0414JAPU01/09/28 16:32ID:???
あー 言い方が悪かったかな。

flock ってのは「このファイルは俺が使うから誰も触るなよ」
って宣言するだけです。礼儀正しい人は「もう触ってもいいよ」って言われるまでは触りません。礼儀正しくない人は構わず触っちゃいます。ただそれだけです。つまり、単なる紳士協定。OK?
# これ以上簡単な説明は出来ないよ。

----
あと、共有ロック (LOCK_SH) に関して蛇足。
これは「共有ロックの人だけは何人同時に触っても良いよ」ってロックです。読み取りのみが必要な場面で使います。
排他ロック (LOCK_EX) する場合は共有だろうが排他だろうが1人でもロックしていればロックできません。
0415名無しさん@お腹いっぱい。01/09/28 16:53ID:3TgAXZr.
flock(FH,2)
flock(FH,8)
0416名無しさん@お腹いっぱい。01/09/28 16:54ID:IDlsq36I
さすがPerl初心者コーナー>JAPU
0417名無しさん@お腹いっぱい。01/09/28 17:44ID:???
何がしたい?(w>415
0418名無しさん@お腹いっぱい。01/09/28 20:05ID:OpN/lBYw
どれくらいの事ができたら「脱初心者」といえるのでしょうか?
0419丸出し01/09/28 22:09ID:DkMaxtU.
初心者丸出しですが
変数$tmpにどんどん追記していくには
どんな関数を使えばよいのですか?
丸出しで申し訳ないですが。
0420名無しさん@お腹いっぱい。01/09/28 22:11ID:???
>>419
$tmp = 'hoge';
$tmp .= 'fuga';
print $tmp; # hogefuga
0421>41901/09/28 22:18ID:???
いくらなんでも、名前と全4行の本文を合わせて合計3度も「丸出し」を唱えるのは
ちょっと守りを固めすぎですよ(w
0422丸出し01/09/28 22:18ID:DkMaxtU.
なるほど!
スクリプトいろいろ見てて
"."ってなんだろ?って思ってたんですが
そういう事だったんですか!
即レス感謝!ありがとう〜!
0423丸出し01/09/28 22:20ID:DkMaxtU.
>421
自慢じゃないですが
ディフェンス力の強さだけは
結構高いんですよねw
どうもでした〜。
042439501/09/28 22:56ID:???
>>401
うーん。
今の私には何が何やら・・・。

でも理解できるように頑張ります。

ありがとうございました。
0425名無しさん@お腹いっぱい。01/09/29 09:48ID:???
どれくらいの事ができたら「脱初心者」といえるのでしょうか?
どれくらいの事ができたら「脱初心者」といえるのでしょうか?
どれくらいの事ができたら「脱初心者」といえるのでしょうか?
どれくらいの事ができたら「脱初心者」といえるのでしょうか?
0426名無しさん@お腹いっぱい。01/09/29 10:11ID:???
sleepって1秒単位しかだめなの?

たとえば1/10秒とか1/100秒って指定できないのかな?
sleep(1/10);
とかってやってみたけど無視されてるようなきがするんだけど
0427_gunzip01/09/29 10:15ID:???
>>426
sleep()は秒単位です。
ミリ秒単位でsleepしたい場合はselect()システムコールを用いるか、
Time::Hiresモジュール(Perl5.7.1からは標準)を利用してください。

select(undef, undef, undef, 0.1);

or

#!/usr/bin/perl
use Time::Hires qw[ sleep ];
sleep(0.1);
0428名無しさん@お腹いっぱい。01/09/30 00:52ID:sHi5SnW.
今更ですが、このスレッドには御世話になってます。
識者の皆さん、ありがとうございます。
私も皆さんに追いつけるよう、努力していきたいと思います。
0429名無しさん@お腹いっぱい。01/09/30 00:52ID:???
教えてください。
HTMLファイルに書き出す時、
.=  で、追記したものを、
HTMLファイルに書き出してるんだけど、
これ以外にいい方法ってありますか?
0430名無しさん@お腹いっぱい。 01/09/30 03:44ID:???
意味が解らないDEATH
print文を健作してくだサイ
0431名無しさん@お腹いっぱい。01/09/30 09:16ID:dIMlyAZM
どれくらいの事ができたら「脱初心者」といえるのでしょうか?
どれくらいの事ができたら「脱初心者」といえるのでしょうか?
どれくらいの事ができたら「脱初心者」といえるのでしょうか?
どれくらいの事ができたら「脱初心者」といえるのでしょうか?
0432名無しさん@お腹いっぱい。01/09/30 11:12ID:???
どっから迷い込んで来たのか・・・・迷惑な話だ
>>429
同じく意味が分からんけど、ファイルに書き出すって事?

print "hogehoge";#は知ってるはず
print<<"_HTML_";
hogehoge
_HTML_ #でもいいし

print HTML <<"_HTML_";
hogehoge
_HTML_

とか結構適当に書けば色々出来るよ  :-)
0433太田@モナー板固定01/09/30 11:59ID:???
質問お願いします。
A2GIFという手法で、OS依存しないAA表示を実現させようと考えています。
Windows用ツールは自作、マック用ツールはとある方に作っていただいたんですが、
できればブラウザ上で表示させたいな、などと思っています。

私はPerlとかあんまり知らないのですが(ソースとかは少しなら分かるのですが)、
とある方に作っていただいたソースがあります。しかしPerlの設置・運用に関する
知識がまるで無いので、どう活用すればいいのか分かりません(泣)
みなさんの力を貸して頂きたいのです・・・どうかよろしくお願いします。

(A2GIF)文字のコードを読んでをgifに置き換え、画像として表示させることで、
ブラウザ依存/OS言語依存無しで2ちゃんねるAAの表示が可能です。転送量が膨大に
なってしまうのが欠点ですが・・・例えば( ´∀`)を変換すると下のようになります。
<html><body>
<img src=font/18line.gif><img src=font/sjis8169.gif><img src=font/sjis8140.gif><img src=font/sjis814C.gif>
<img src=font/sjis81CD.gif><img src=font/sjis814D.gif><img src=font/sjis816A.gif><br>
</body></html>

アップ.HP http://www42.tok2.com/home/hekomuyo/
通常版   http://www.geocities.co.jp/SiliconValley-Cupertino/9474/aameasure.lzh (約200KB)
A2GIF版 http://www.geocities.co.jp/SiliconValley-Cupertino/9474/aameasure_a2.lzh (約600KB)
ソース   http://www.geocities.co.jp/SiliconValley-Cupertino/9474/aameasure_src.lzh (10KB未満)
M.A.C.用 http://www07.u-page.so-net.ne.jp/rg7/yu-ya/warez.html
Perl版.?  http://green.jbbs.net/computer/bbs/read.cgi?BBS=391&KEY=1001606806&END=100
注)「Win版のソースが汚い」というクレームは受け付けていません(苦笑)
0434名無しさん@お腹いっぱい。01/09/30 13:14ID:???
>>430 >>432 ありがとうございます。

意味不明申し訳ないです。cgiファイルではなくてHTMLファイル化ということです。
出力結果部分を.htmlファイルにする方法で.=を使ってますが変なので、
良い方法をご教授願いたいと思っています。宜しくお願いします。

$logfile = "kakidashi.html";
$syuthuryoku = "オマエモナー\n";

#以下の部分を一まとめにして、$htmlに代入する方法とかあるのかな?
$html .= "<html>\n";
$html .= "<head><title>この方法は変でしょ</title>\n";
$html .= "<body>\n";
$html .= "HTMLの出力結果は、$syuthuryoku\n";
$html .= "</body>\n";
$html .= "</html>\n";

open (OUT,">$logfile") || &error('オープンエラー');
print OUT ($html);
close (OUT);

&header();
print "<a href=./kakidashi.html>出力ファイル</a>";

sub error {
&header();
print "<body>$_[0]</body></html>\n";
}
sub header {
print "Content-type: text/html\n\n";
print "<html><head><title>この方法は変でしょ?</title></head>\n";
}
0435名無しさん@お腹いっぱい。01/09/30 13:19ID:Bs/Yjz32
あ、太田さん来てる。
UAに依存しないAAですか。いいっすね。
043643501/09/30 13:23ID:???
一つ一つの文字をgifにですか。
なんか効率悪そうですね。gifcat(dog)とかで繋げられないかな?
0437名無しさん@お腹いっぱい。01/09/30 13:24ID:LmdMp5e6
>>433
よくわからんが、web上でCGIとして動かしたいって事?
だとしたら、gatewayのサーバー立てて、そこにCGIを設置して、
httpリクエストでAAを取得→A2GIFに渡す→結果を返す
んでいいじゃない?
0438太田@モナー板固定01/09/30 13:25ID:???
えーと、そっち方面の知識がまるで無いので・・・
カウンターを繋げたりする方法でしょうか。
1行1画像くらいにできれば効率上がりそうですね。
0439太田@モナー板固定01/09/30 13:29ID:???
>>437
えーと・・・どうやるのでしょう?(汗)
自分のPCではちょっと鯖立ては難しいので、
トクトクでやりたいのですが、どうでしょうか・・・。
0440名無しさん@お腹いっぱい。01/09/30 13:29ID:LmdMp5e6
>>434
open (OUT,">$logfile") || &error('オープンエラー');
print OUT qq{
<html>
<head><title>この方法は変でしょ</title>
...
};
close (OUT);
0441名無しさん@お腹いっぱい。01/09/30 13:34ID:LmdMp5e6
perl動いてセッション間の通信ができれば鯖はなんでもいい。
トクトクは知らんが。
それ以前に、ユーザーインターフェイスの仕様をもうちょっと煮詰めた
方がいいと思われ。
動作イメージがさっぱりわからん。
0442太田@モナー板固定01/09/30 13:38ID:???
>>441今のところ考えているのは、
案1:画面上に入力フォームがあって、そこにAAをコピペ、変換ボタンを押すとA2GIF形式のhtmlが表示される
案2:URLを入力するところがあって、変換ボタンを押すとURL先の内容がA2GIF形式に変換される

案1はちょうど掲示板の入力のような感じで、
案2は確か「幼児語化計画」のようなものです。
0443名無しさん@お腹いっぱい。01/09/30 13:57ID:SdkZLPb6
open(COUNT, "+<$countdata") || die "File 'countdata' Open Error.";
flock(COUNT,2);
$counter = <COUNT>;
$counter1 = ++$counter;
seek(COUNT, 0, 0);
print COUNT "$counter1\n";
close(COUNT);
flock(COUNT,8);
print "Content-type: text/html\n\n";
print <<EOF;
<HTML>
<BODY>
<CENTER>
<FONT size="5"><B>
$counter1
</B></FONT>
</CENTER>
</BODY>
</HTML>
EOF

というのでテキストカウンターを作ったのですが表示したいHTMLに
<img src="hehehe.cgi">という風にしても表示されません。
テキストのみのカウンターの場合はどのように表示させてば
いいのでしょうか?
もちろん単体でしたらうまく機能しています。
0444名無しさん@お腹いっぱい。01/09/30 13:59ID:???
>>434
$html = <<"__KOKOMADE__";
<html>
<head><title>それならヒアドキュメントでいいっす</title>
<body>
HTMLの出力結果は、$syuthuryoku
</body>
</html>
__KOKOMADE__
0445コピペ職人01/09/30 14:35ID:???
open (HOGE,">hoge.html");
select HOGE;
print "<html><head></head>";
print <<"_HTM_";
<body>
これselect忘れると変になるんだよなー
</body></html>
_HTM_
0446名無しさん@お腹いっぱい。01/09/30 14:41ID:E6kRmxB6
>>442
案2のほうは437や441が言ってるやつね。CGIプロクシ形式。
無料レンタルサーバだとできないように設定されてることが
多いけど、トクトクはどうなんかねー。

とりあえず、案1はどのサーバでも大丈夫だからやってみれば。
いま使ってる掲示板スクリプトはどんなやつ?
ちょっと改造するだけでオーケーと思うよ。
0447名無しさん@お腹いっぱい。01/09/30 14:58ID:???
>>443
image/* を吐かなければいけないCGIに text/html を吐かせて、
君は一体何をしようとしているのだ。
それじゃ表示されなくて当然よ。
あとねー、なんつーか、closeした後にflockとかわけわからん。
HTMLも不思議マークアップだし。
■ このスレッドは過去ログ倉庫に格納されています