トップページ⇒php
981コメント390KB

くだすれPerl(超初心者用)2

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2008/03/03(月) 05:07:32ID:???
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
Perl使いが優しくコメントを返しますが、
お礼はPerlの布教と初心者の救済をお願いします。
0376nobodyさん2008/07/08(火) 17:03:27ID:???
>>375
ハッシュテーブルさえ理解してればどの様にでも出来る。
このスレの>>12->>15あたり読め。後は自分で応用しろ。
0377nobodyさん2008/07/08(火) 17:10:18ID:???
あ、例を書くの忘れてたw
@res = keys %{ { map{ $_, 1 } qw( 1 2 9 9 ) } } ;
0378nobodyさん2008/07/08(火) 17:29:42ID:???
ありがとうございました。
まだ完全には理解しきれてませんが、
なんか見えてきた気がします。
0379質問2008/07/08(火) 23:51:46ID:ELkvWtkp
誘導されてきました。
送信ボタンを2回押さないとframe2へ出力されなくて困っています。
送信ボタンを1回押すだけで出力できるような方法を教えてください。

現在の構成ですが、

A.cgi
<form action="B.cgi" target="frame2">
と作成しています。
A.cgiではチェックリストを作って、選択したデータ(装置名)を取得するようにしています。
送信ボタンを押すとB.cgiが実行されてその結果をframe2へhtmlで出力するようにしています。

vi B.cgi
�@取得したデータをCファイルへ書き込み
�A取得したデータをhtmlで出力
�B ` D.pl` を実施

vi D.pl
 D.plがすでに起動していれば、改めてD.plを実行しない(多重起動防止)
 Cファイルに何も記録がなければD.pl自体を終了させる
 while(-s Cファイル){
Cファイルに何か書き込みが有る場合、
Cファイルを読み込んでその装置へデータをsnmpで取得しに行く
 sleep 30;
}

状況としては、チェックリストで項目を選択し送信ボタンを押すと、1回目のB.cgiが実行されるわけですが、
B.cgi内でD.plを走らせている為(30秒ループ)、D.plが終了しない限りB.cgiが終了しないので
結果としてframe2への出力がされないようです。
次に送信ボタンを押すと、1回目のD.plがすでに起動しているので2回目のD.plは終了し、2回目のB.cgiは終了し、
frame2へも出力されます。
0380nobodyさん2008/07/09(水) 02:49:40ID:???
いまいち何したいかわからんけど、

> B.cgi内でD.plを走らせている為(30秒ループ)、D.plが終了しない限りB.cgiが終了しないので
結果としてframe2への出力がされないようです。

D.plを呼ぶ前に「close STDOUT」 してもだめかな?
0381nobodyさん2008/07/09(水) 03:25:24ID:???
>>379
> frame2への出力
ってのが、B.cgiの2.の段階のこと?(多分違うと思うけど。3.の後の`D.pl`の後かな)

D.plを多重起動禁止とか、Cファイルに書き出しとかせずに、
B.cgiからrequireなりで呼び出して、直接その装置(何のだ?)に値するものを引数なりで渡せばええんでね?
で、戻り値をB.cgiから出力と。

これなら、ファイルのロックだとか破損だとか考えずに、B.cgiをいくらでも(cpuとメモリの限り)実行できると思うが・・。
snmpのことはよう知らんから、これではダメなのかも知れないけど。
0382nobodyさん2008/07/09(水) 07:17:22ID:bhbbhnXI
>>381
>> frame2への出力
>ってのが、B.cgiの2.の段階のこと?(多分違うと思うけど。3.の後の`D.pl`の後かな)
そうです。B.cgi内では�@�A�Bの順番で記述していますが、B.cgiが終了しないと
B.cgiの処理結果である�Aが出力されないようです。

>>380 >>381
今日あたり書かれていることを勉強して試してみます。
03833812008/07/09(水) 10:16:07ID:???
>>382
あれ、そうなの?じゃあD.plは一体何をしてるんだ?

自分の解釈としては、
A.cgi→フォーム(装置の種類?)を選択→B.cgiでそれを受け取りCファイルに書き出す
→D.plがCファイルの内容を読み取り、snmpからその装置の値(統計?測定値?)を取りに行く
→結果をB.cgiに返す→B.cgiで結果を出力  かと思ってたんだけど・・。

もし言うとおり、B.cgiの2.の部分が出力されないってことなら、>>380の方法か、
(Web鯖がApacheだと仮定して)
$| = 1;
print "Content-type....."
print " " x 256;
とかを、HTMLの出力前にやってみれば?
(確かApacheがcgiかの出力を256byte分バッファリングしたはず。だから最初に256byte分なにかを出力する)
0384nobodyさん2008/07/10(木) 13:55:54ID:udSkOiii
<FONT>タグだけ禁止するようにしたいんだけどどうすればいいですか?

$FORM_DATA{$name_data}=~s/<FONT>/<FONT>/g;
$FORM_DATA{$name_data}=~s/<\/FONT>/<FONT>/g;

これでやってもうまくいかないです。
0385nobodyさん2008/07/10(木) 14:08:18ID:???
タグ、こういう使い方しないし → <FONT>
それに、スタイルシートとかJavaScriptで壊滅しちゃうよ?
0386nobodyさん2008/07/10(木) 14:15:16ID:???
Perl以前の問題ですね。
0387nobodyさん2008/07/10(木) 14:37:38ID:???
ひろゆきがあめぞうを攻撃したとき、
「スタイルシート破壊攻撃」
というものであめぞうを壊滅させたのだ
0388nobodyさん2008/07/10(木) 17:37:23ID:dih1cMi9
いくらググってもまったくわからなかったから質問です
ソフトバンクでの$ENV{'HTTP_USER_AGENT'}の中に含まれる
ブラウザのことなんですが、携帯のブラウザって変更できますか?
機種変えないとブラウザは変更できませんか?
0389nobodyさん2008/07/10(木) 21:21:21ID:???
携帯は途中に介するゲートウェイで追加するから、自由には出来ない。
0390nobodyさん2008/07/10(木) 21:45:49ID:???
アプリのブラウザとか
0391nobodyさん2008/07/10(木) 21:53:43ID:???
Perl関係ないやん。
0392nobodyさん2008/07/11(金) 11:46:21ID:blsFm1gd
389さんくす
perlで携帯サイトを作ったので個体識別情報を
パスにして重複登録を防ごうとしてるので。
0393nobodyさん2008/07/11(金) 12:48:17ID:???
何で質問時にそういう情報出さないのかね?
0394nobodyさん2008/07/11(金) 17:55:47ID:8w4o/9wt
2ちゃんで使える自動書き込みスクリプトを作るにはperlを学べばいいのですか?
0395nobodyさん2008/07/11(金) 18:02:09ID:???
perlである必要は無いが、perlでもできる
0396nobodyさん2008/07/11(金) 18:24:17ID:8w4o/9wt
簡単なものでいいのですが、より早くそれを作れるのはどの言語ですか?
0397nobodyさん2008/07/11(金) 18:35:49ID:???
個人のスキルに依る。
教えると荒し幇助になるから、後は勝手にやってろ
0398nobodyさん2008/07/11(金) 19:06:48ID:???
早く作れるのはPerlに決まってるだろ。他の言語環境だと、往々にしてミラーリングでいきなり詰まる。
0399nobodyさん2008/07/11(金) 19:11:25ID:8w4o/9wt
ではPerlをやってみようと思います。
ありがとうございます。
0400nobodyさん2008/07/14(月) 09:37:28ID:???
Perlのスレで聞いたらPerlという答えが来るに決まってるだろw
0401nobodyさん2008/07/14(月) 12:27:09ID:???
昔からデューク(笑)とかフェイザー(厨)はPerlです。
0402nobodyさん2008/07/15(火) 23:35:01ID:xfy/3+9x
すいません、2点教えてください。

別ファイルからURLを読み込んで表示させたいのですが、

$url = http://○○○.○○.jp/********/**********/************/********/****.htm 等の場合、

の$url中から http:// という文字だけを削除する記述と、
URLが長すぎる場合、20文字以降は ... で省略して表示させる記述を教えてください。
よろしくお願いします。


0403nobodyさん2008/07/16(水) 00:07:34ID:???
>>402
http の h を抜くんだね? .htm の h は抜かないんだね?
$url =~ s/^h// ;
20文字以降、、、は、
$url = +( unpack q{A20}, $url ) . '...' if length $url > 20 ;
04044022008/07/16(水) 00:28:18ID:WNn5k82F
ありがとうございます!

$url でやろうと思ったのですが、他ファイル(plファイル)から
%url% というので読み込む際の記述を教えていただけると助かります。(^^;

あと、 h だけではなく、 http:// の全てを削除したいと思います。
度々すいませんが、よろしくお願いします。m(_ _)m
04054022008/07/16(水) 00:36:08ID:WNn5k82F
あ、すいません。
「 http:// 」 を抜きたいのです。
.htm の 「 h 」 は抜かないです。
0406nobodyさん2008/07/16(水) 00:38:06ID:???
s|http://||
httpsも含まれるなら
s|https?//||
0407nobodyさん2008/07/16(水) 00:41:20ID:???
>>404
すまんが %url% と言うのは理解出来ん。なんじゃそりゃ?
.htm 以外の h を全部抜くのは
$url =~ s/h(?!tm.?$)//g ;
あたりで何とか。
04084022008/07/16(水) 00:52:08ID:WNn5k82F
他サーバーから入ってくるXMLデータから抽出したurlを
cgiの中で %url% という記述で呼び出しているんです。

%url% を $url に変換(?)しようと思い、
$url ="%url%";
と書いてみましたが、無反応でした。
記述が間違っているようで・・


あと、 .htm 以外の h を全部抜くのはなく、
「 http:// 」 と 「 https:// 」 を抜きたい場合は、
$url =~ s|http://|| ;
$url =~ s|https://|| ;
でしょうか??


説明下手ですいません。(^^::
0409nobodyさん2008/07/16(水) 00:58:11ID:???
>>408
s{^(h|https://)}{} ;
0410nobodyさん2008/07/16(水) 01:04:47ID:WNn5k82F
ありがとうございます。

%url% を $url に変換(?)できれば希望通りになりそうなのですが、
この記述は難しいでしょうか??
0411nobodyさん2008/07/16(水) 01:05:58ID:???
s{^(https://|h)}{} ; 質問者さんの意図には関わらず、一応の訂正
%url% に関しては知らん。
0412nobodyさん2008/07/16(水) 01:19:18ID:???
専ブラで見たのが間違いだった。409、411は無意味だ。スレ汚しすまん。
04134022008/07/16(水) 01:28:15ID:???
すいません、発想を変えたらできました!!!!
cgiではなく、読み込む前のplファイル内でイジっていたら、うまくいったようです!
大変助かりました!
ありがとうございました!!
0414nobodyさん2008/07/16(水) 04:08:39ID:???
今回初めてperlでcgiを作ったのですがローカルサーバで動作を確認しようと
したのですがうまくいきませんでした。
このcgiはブラウザから引き渡されたデータを処理するのして記録(log)に残す
のですがInternal Server Errorになってしまいます。
perlのパスはあっていましたし、改行もLFでした。
apacheを使っている?のですが他のcgiは動いたのでapacheの設定は間違って
いないはずです。。。
cgi-lib.plを使っているのですがそれのパスが違うのと思いましたが
よくわかりません。
cgi-lib.plがあるフォルダのパスはそのフォルダをTerminalにつっこんで
でたパスをそのまんま書きました。
use lib'#ここにTerminalからのパス';みたいな感じです。

下にファイルのURLを張りましたのでどなたか教えて頂けないでしょうか?
よろしくお願いします<(_ _)>
http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/356.zip
0415nobodyさん2008/07/16(水) 10:00:31ID:???
Macかいな。
InternalServerErrorのときは、その理由も別のエラーで出てるはずだが、apacheのログはどうなってる?
0416nobodyさん2008/07/16(水) 10:05:39ID:???
perl -wc

[confirm.cgi]
syntax error at confirm.cgi line 43, near "print"

[reservation.cgi]
Name "main::LOG" used only once: possible typo at reservation.cgi line 19.
0417nobodyさん2008/07/16(水) 10:07:17ID:???
あとコンソールから直接実行してみるのもいいよ。
ちょっとやってみたが、confirm.cgi の
>print "<HTML><BODY BGCOLOR=\"YELLOW\">\n"
この行の末尾に ; セミコロンがないからsyntax errorおこしてる。
04184142008/07/16(水) 11:49:34ID:???
>>415-417
返信ありがとうございます<(_ _)>
たしかにセミコロンが抜けていました;つけるとちゃんと実行はできたの
ですが記録するlogファイルは作成されるのですが中身が空なのです。
>>416さんのreserve.cgiの警告は1回だけしか変数と言う警告みたいで
気にすることはないみたいな感じで書かれていました。
ファイルでに追加書き込みの部分が
open(LOG1,">>reserve.log");
print LOG "\"$yourname\",\"$phone\",\"$email\",\"$answer1\",\"$date\",\"$stay\",\"$answer2\"\n";
close(LOG1);
みたいな感じなのですがどこかおかしいでしょうか?
ファイルが存在しない場合は新規で作成してくれました。
カレントディレクトリに存在しなければ umask 666 で新規作成する。
とありましたがそこが問題なのでしょうか?umask 666;とopen関数の後に
入れても何も書き込まれなかったのですが...。
0419nobodyさん2008/07/16(水) 12:31:03ID:???
openがLOG1なのに、print が LOGなのはおかしいと思わないのか
0420nobodyさん2008/07/16(水) 12:41:15ID:???
あとファイルが作成できてたならパーミッションいじらんでいいよ。
suEXECで動いてるんだろう。
04214142008/07/16(水) 12:53:40ID:???
>>419-420
回答ありがとうございます。
なんとも単純なミス・・・・
昨日から徹夜でしたので頭が回ってないようです;;
何度も確認してこれからは聞きたいと思います、ありがとうございました!
0422nobodyさん2008/07/16(水) 22:09:14ID:???
>>419
こういう時はperlはエラーを出さないの?
他の言語では出すの?
0423nobodyさん2008/07/16(水) 22:30:17ID:WNn5k82F
ちょっと教えてください。
パスワードで入室するだけのcgi部分なのですが、
設定された有効パスワード「$pwd」以外にも、もう一つ有効パスワード「$pass」を追加する場合、
どのようにすればいいでしょうか?
※「$pwd」と「$pass」の、どちらでも入室できるようにしたいのです。


$pass = '9999';
## --- パスワード暗号処理
sub passwd_encode {
$now = time;
($p1, $p2) = unpack("C2", $now);
$wk = $now / (60*60*24*7) + $p1 + $p2 - 8;
@saltset = ('a'..'z','A'..'Z','0'..'9','.','/');
$nsalt = $saltset[$wk % 64] . $saltset[$now % 64];
$encode_pwd = crypt($pwd, $nsalt);
}
## --- パスワード照合処理
sub passwd_decode {
if ($encode_pwd =~ /^\$1\$/) { $crptkey = 3; } # FreeBSDサーバ対応
else { $crptkey = 0; }

$check = "no";
if (crypt($pwd, substr($encode_pwd,$crptkey,2)) eq "$encode_pwd") {
$check = "yes";
}
}
04244232008/07/16(水) 22:33:12ID:WNn5k82F
すいません、以下が照会部分です。

# パスワード照合
local($encode_pwd) = $pw;
&passwd_decode;
if ($check eq 'no') {
last;
&error("パスワードが違います","lock");
}

0425nobodyさん2008/07/17(木) 06:00:10ID:???
グローバル変数使いまくり、、、

>>422
ヲーニングを出すように設定すれば出るよ。
use wanings ;
use strict ;
らへん。
0426nobodyさん2008/07/17(木) 19:14:10ID:???
パスを2つ設定するという設計を見直したほうがいい。
0427nobodyさん2008/07/18(金) 01:25:13ID:???
>>423
実装自体は簡単で、有効なパスワードをひとつずつ順次判定して、有効なパスワードに合致した時点でその旨報告すれば良いだけです。

>>426 の言うように、単一のアカウントに複数の有効パスワードを設定する設計は必然性がなく、安全性は確実に下がるのでおすすめしません。
まさかとは思いますが万が一、全アカウントに共通のパスワードを付加しようとしているのであれば、ほとんど論外と言えます。
もしその目的なら別途管理者アカウントを実装されるのが良いでしょう。

蛇足ですが、良い本を一冊でよいので、買って読みましょう。
0428nobodyさん2008/07/19(土) 20:05:39ID:???
>>401
perlがその目的に向いているわけではなく、あの馬鹿がperlしか知らなかっただけ。
0429nobodyさん2008/07/20(日) 12:53:28ID:???
CGIゲームや、掲示板などでデータを保管する時
名前<>パス<>投稿時間<>メッセージ
などのように<>で区切りますが、<>を使う理由ってありますか?
,とか|で区切っているものも時々みかけますが、自分が見た中では
<>が一番多かったです。
0430nobodyさん2008/07/20(日) 13:10:14ID:???
掲示板ではタグが使えないから<や>が出現しないからです。
,とか|だと投稿記事に普通に含まれてるので。
0431nobodyさん2008/07/20(日) 13:16:23ID:???
,とか|だと普通のデータにも含まれ易い文字だからエスケープしないといけない
となると書き出しの時のエスケープに加えて読み出しの時もそのための処理が必要になる

<>だと,データに含まれてたとしても保存する時に&<&>にすればいいだけ

<>だと2バイト食うから、それなら非アスキー文字で\0とかで区切るとデータファイルを
テキストエディタで見ると変になるかもしれない

<のみで区切ると容量的には減るだろうがエディタで見たときデータ同士の区切りがピンとこないかな。。

<>の区切りがいいか悪いかはわからんが、KENTが配布してるCGIで広まったのかな?
0432nobodyさん2008/07/20(日) 13:21:39ID:???
俺はタブ区切りが一番好きだな。
0433nobodyさん2008/07/20(日) 20:00:16ID:???
>>430-431
なるほどねー
そういう理由がちゃんと書いてある
本とかWEBはあるのかな。
0434nobodyさん2008/07/20(日) 20:30:28ID:???
>>433
> そういう理由がちゃんと書いてある
> 本とかWEBはあるのかな。

何かの標準というわけでもなく、特定の実装でたまたまそれ("<>")が選ばれた、というだけなので、根拠を求めるなら当該実装のドキュメントを読むのが筋だろうと思います。
0435nobodyさん2008/07/20(日) 21:44:54ID:UlzGONXm
>>432
タブ区切りを好む奴はそもそもデータを触ったことが殆ど無い。まああくまで俺の偏見だが。
0436nobodyさん2008/07/21(月) 02:02:08ID:???
データの種類による
0437nobodyさん2008/07/21(月) 07:42:22ID:???
表示に違いの出るエスケープコードをデータから省いて区切り文字にするのが楽。
<>はタブの強調表示が出来ないメモ帳向け。
0438nobodyさん2008/07/21(月) 09:52:12ID:???
データ区切りに便乗。
aabbddedd<>1232345<>0<>qwer345566
abd<>123<>100<>derfgtg
となっちゃうデータを、見た目だけ

aabbddedd<>1232345<>0 <>qwer345566
abd <>123 <>100<>derfgtg

のように区切り文字あわせで表示してくれるようなエディタってないでしょうか。
0439nobodyさん2008/07/21(月) 17:42:37ID:???
>>438
perl -ple "s/<>/\t/g" > outfile.tsv
-> 続きは Excel で。

# 僕はその手のファイルを手編集せにゃならん事態は避けたい。
0440nobodyさん2008/07/21(月) 18:35:14ID:???
Excel表示なら、タブなんて選ばないわな。
RFC4180な素朴なCSVにしておけば、間違いなく誰のExcelでも同じように表示される。
0441nobodyさん2008/07/21(月) 20:42:22ID:???
タブに対応してないexcelってあんの?
それに、OOoならフツーによめるぞ。
0442nobodyさん2008/07/22(火) 01:36:21ID:???
いちいちメニュー→データのインポート→読み込むカラムや区切り文字の設定→・・・
とか、マンドクセー ってことでしょ?(しかもExcelが覚えてくれないし)
それに知ってるやつになら問題ないけど、よく知らんやつにも配布する、とかになると
開き方説明したり、「なんでこんな形式なんだー!」とかクレーム来ることうけあい。
0443nobodyさん2008/07/22(火) 03:23:00ID:???
タブ区切り=ニートまたは1人で細々
0444nobodyさん2008/07/22(火) 04:52:47ID:???
ウチの Excel、ダブルクリックで TSV を開いてくれるんだ。おかしいのか。
0445nobodyさん2008/07/22(火) 09:38:10ID:???
>>443
プロは何区切りを使うの?
0446nobodyさん2008/07/22(火) 13:14:57ID:???
データの中身を弄らないという点でタブ区切りは楽なんだけど、ダメなのか。
0447nobodyさん2008/07/22(火) 21:43:28ID:???
>>446
必要な範囲で一貫性が維持できるならなんでも可。
好き嫌いは人それぞれナノ。
0448nobodyさん2008/07/22(火) 21:48:06ID:???
問題無い
0449nobodyさん2008/07/23(水) 02:02:08ID:???
ちゃんとCSVにすると "〜","〜","〜" だし
wqを外すとカンマを処理しなくちゃならないから俺もTSVにしてる
フォームだと通常はTAB含まれないので楽(コピペされると入るけど)
0450nobodyさん2008/07/23(水) 02:19:31ID:???
db使えよ
0451nobodyさん2008/07/23(水) 11:44:47ID:???
SQLite最高ですね
0452nobodyさん2008/07/23(水) 21:54:07ID:???
DB使うんだったら、プライマリキーとかインデックスを覚えてくれ・・・
04534492008/07/24(木) 03:39:07ID:???
依頼仕事だと「エクセルでデータを見たい」とか言うバカがいるんだよ
どーせ見ねぇくせに・・・
0454nobodyさん2008/07/24(木) 09:22:59ID:???
データ保持はDBで、出力だけcsvだのexcel向けにしては
0455nobodyさん2008/07/24(木) 18:57:29ID:???
>>454
んだからよ、その出力形式の四方山話をしてんじゃねえのかよ。^^;
0456nobodyさん2008/07/24(木) 19:00:08ID:???
読み込みが面倒って話じゃないのかね
だったら出力だけCSVでいいじゃん
0457nobodyさん2008/07/25(金) 00:26:02ID:???
いい機会だしOOo導入汁
0458nobodyさん2008/07/25(金) 20:29:09ID:???
>>457
Sun の Java VM のインストーラに勧められて入れた。起動はしていない。
0459nobodyさん2008/07/25(金) 20:51:38ID:???
>>458
タスクにクイック起動が潜んでると思われw
0460nobodyさん2008/07/26(土) 08:13:46ID:???
>>459
見つかりません。ぼくの OOo は壊れているのでしょうか。
Perl と関係ないな…。
0461nobodyさん2008/07/27(日) 21:58:36ID:???
時間を扱うデータに取り組んでいるんですが、
たとえばグリニッジ標準時をを日本での何年何月何日何時何分何秒に直す方法は
あちこちで見かけます。
逆に何年何月何日何時何分何秒をグリニッジ標準時に
直すにはどんなふうにすればいいんでしょうか?

以前両方の換算をしてくれるサイトがあったと思うのですが、
URLを忘れてしまいました。
0462nobodyさん2008/07/27(日) 23:58:37ID:???
つ Date::Manip
0463nobodyさん2008/07/29(火) 15:51:40ID:PIvmZbRo
perlでcsvをtexの表の形にしたいんですが、
どうやったらいいか教えていただけないでしょうか?

正規表現を使うのはわかるのですが、いまいち流れがわかりません
何か参考サイトなどがあると良いのですが・・
0464nobodyさん2008/07/29(火) 21:15:42ID:???
>>463
use Text::CSV;
my $csv = Text::CSV->new({ binary => 1 });

my @texlines = ();
while (<>) {
$csv->parse($_) or die $!;
push @texlines, join( ' & ', $csv->fields($_) ) . " \\\\\n";
}
print @texlines;

# よく知らんけどこんな感じでいかがかしら。
0465nobodyさん2008/07/30(水) 10:48:48ID:???
TeXの表じゃなかったのか・・・
0466nobodyさん2008/07/30(水) 21:20:36ID:???
readdir() attempted on invalid dirhandle FILE
ってどういう意味
0467nobodyさん2008/07/30(水) 22:04:23ID:???
>>466
無効なディレクトリハンドル FILE を readdir() しようとしてコケました。
FILE はまだ開かれていないか、あるいは正しいディレクトリハンドルではないか、もしくは「俺は最初ッから、その FILE って名前が気に入らなかったんだよぉッッ……!」 な可能性があります。
血眼でデバグってください。
04684642008/07/30(水) 22:08:18ID:???
>>465
てふの表て、カラム区切りが "&" で、ライン区切りが "\\" じゃなかったんですか?
実際よく知らないのでこれを機会に教えて星ス。
0469nobodyさん2008/07/31(木) 03:07:00ID:???
質問です。

掲示板cgiにアクセス解析cgiを組み込みたいと思っています。
そのアクセス解析は本来SSI用で、shtmlから
<!--#include virtual="./accesskaiseki.cgi?id=123456"-->
で呼び出すようになっています。

掲示板cgi内に
require './accesskaiseki.cgi';
と記述すると、とりあえずは動いているのですが、
「id=123456」の部分を送るにはどう記述すればいいんでしょうか?

お恥しい質問ですいません。
0470nobodyさん2008/07/31(木) 04:27:16ID:???
忍者か何か?

なんでidを送る必要があるの?
0471nobodyさん2008/07/31(木) 12:30:12ID:uEHg7ipC
質問なのですが今簡単なチャットみたいな物のcgiを作っているのですが
うまく表示できません。
構文エラーはでませんでした。
どのようにしたいかと言うと入力フォームに何かを書き込むと
投稿者のid(そのサイトに何番目にきたか)と入力したメッセージを順に表示したいのです。
メッセージと番号は他のログファイルに蓄積されていきます。
ログファイルにはメッセージは書き込まれるのですがidは空白になってしまいます;
どなたか教えて頂けないでしょうか?
ファイルはhttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/380.txtです。
初心者なので変なタグを使っているかもしれません;
0472nobodyさん2008/07/31(木) 12:47:18ID:???
print "<INPUT TYPE=\"HIDDEN\" NAME=\"id\" VALUE=\"$count\">\n";

この行見ればわかるでしょ
0473nobodyさん2008/07/31(木) 12:57:37ID:???
>>472
返信ありがとうございます。
\nが不要でした!直したらできたのですが
ログファイルの中身を表示ができないんですよね;

open(FILE2,"+>>log.dat");
while($line=<FILE2>){
print $line;
}
で表示されないんですよね;
datファイルのパーミッションの問題なのでしょうか?
一応chmod 666 log.datをすると
Operation not permittedとでてしまいます。
0474nobodyさん2008/07/31(木) 15:19:42ID:???
本一冊読んでからやれ
0475nobodyさん2008/07/31(木) 15:30:28ID:???
すみませんないとかできました。
色々とすみませんでした。
0476nobodyさん2008/07/31(木) 16:50:00ID:???
せめて事後報告ぐらいすればまだ救われるのに。
■ このスレッドは過去ログ倉庫に格納されています