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

【Perl】初心者コーナー Part19

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん03/01/11 13:52ID:???
初めに→「perl」その物のスレです。

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

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

あとは>>2-10にまかせた。
0598f03/01/27 23:00ID:???
★あなたのお悩み解決致します!!
●浮気素行調査
彼氏、彼女、妻、夫の浮気を調査致します!!
●盗聴器盗撮機発見
あなたの部屋に誰かが仕掛けているかも!!
●行方調査
行方不明になっている家族の消息を調査致します!!
●電話番号から住所割り出し
一般電話、携帯から住所を割り出し致します!!
●ストーカー対策
社会問題ともなっているストーカーを撃退致します!!
その他人生相談からどんなお悩みでも解決いたします!!
 24時間受付  090−8505−3086
URL  http://www.h5.dion.ne.jp/~grobal/
メール  [email protected]
   グローバル探偵事務局 

0599 ◆PerlqhxPVA 03/01/27 23:50ID:???
>>592
$old = 1225678901;
while($old =~ s/(\d{1,3}?)$//){ unshift(@_,$&); };
print join(',',@_);

ちゅうのはカコ悪いか(w

>>597
Apacheの仕組みを覚えれ。
0600nobodyさん03/01/28 00:34ID:???
>>597
ネタなのかマジなのかよくわからん。
0601nobodyさん03/01/28 00:35ID:???
ttp://www.din.or.jp/~ohzaki/perl.htm
ここがPerlメモ

3桁ごとのカンマはこれが一番シンプルじゃねーかな。
0602nobodyさん03/01/28 03:04ID:???
>>597
Apacheだと、エラー時に好きなページを出力できる。
cgiを起動する事もできたりする。
0603g03/01/28 04:31ID:QDc4rCif
すいません、今本を見ながら一生懸命猿まねしてるんですが、、、
スラッシュの反対向きのやつってどうやって入力するのですか?
それらしきキーを押してるのに「\」が出てきます。
誰か教えてください。
0604g03/01/28 04:54ID:QDc4rCif
>>603
フォントを変えるとできました。
お騒がせしました。
0605nobodyさん03/01/28 06:37ID:???
すみません、ご存知の方いらっしゃれば教えて下さい。

あまり詳しくは言えないので非常に申し訳ないのですが、
ある2つのcgiをWin98(Celeron500)+Apache2+ActivePerl5.8で動かしていて全く問題がなかったのですが、
Win2000(Celeron500)で同じサーバ構成を作り(たぶん)稼動させた所、
1つは非常に快適に動作し、1つは動かないに等しい程おそくなってしまいました。

CGIを自分でかけないので分からない、というのがすでに問題なのですが、
こう言ったことは起こりうると推測出来るでしょうか?

サーバの構築ミスとかも有るかもしれません、、、。

ご教授頂ければ幸いです、、、、。
060659203/01/28 06:47ID:???
確かに似たようなのあるね
すまそ
0607腐れ厨房(゚腐゚)03/01/28 07:15ID:vWtuYxkU
>>602
なるホドです。んでそれをブラウザはどやて認識してんですか?
あよくよくヘダ見たら302fondの時「Location: http://hoge.com/hoge.html」とあたです。これでしょか?
0608nobodyさん03/01/28 09:15ID:???
>>607
帰れ。せめてhttpのRFCぐらい目を通してこい。
あと、日本語も勉強してこような。
0609nobodyさん03/01/28 09:19ID:???
>>605
起こりうる可能性はいくらでもありますね
ソフトウェア的な設定ミスから
ハードウェアやネットワークの障害などなど

ひとまず順を追って用意した環境が間違いないか確認しましょう

>>607
まずは日本語を(ry
061060503/01/28 10:05ID:???
>>609さん
レスありがとうございます。
そうですね、おちついて順をおってもう一度やってみます。

CGIのプログラムを外注に出しているので、
「おい動かなかったぞ!」と文句つけてみたものの
自分の設定ミスでしたという訳にもいかず(w

ただもともと動いていたCGIなので、どちらかといえば自分の設定ミスの方が
ありえるかな?と、その可能性をあたってみたかったという所です。

いやまったくお恥ずかしい話なんですが。
0611nobodyさん03/01/28 10:42ID:???
ここperl
061260903/01/28 12:15ID:???
>>610
外注先がコンサルしてくれないって痛いですね
大変だと思いますがガンガってくださいまし

スレ違いネタになってきたのでこの辺で、、
0613nobodyさん03/01/28 15:26ID:???
ここDQN
0614腐れ厨房(゚腐゚)03/01/28 16:53ID:vWtuYxkU
>>608
んな難解なヘンテコ文章読むの強要する低脳さんです。乞食が「このくらいの寒さひもじさなんだお前ら根性なし。」と騒いでるみたいです。

ところですべての文字列にマチさしたいんですけど
([.]|[^.])*?
てヤてんですけどカコとパイプだらけでカコ悪いです。もちょとスマトな方法ないですか?
 全能な正規表現
  (??{ code })
  (?{ code })
これ試してみましたけどなんかダメでしたです。Perl5.8です。
0615nobodyさん03/01/28 17:02ID:???
>>614
.*じゃ駄目なのか?

あと、HTTPについては、http://www.studyinghttp.net/
日本語だから読めるでしょ?

とにかく、日本語を書くように。
0616nobodyさん03/01/28 17:08ID:oYLjlQQn
全ての文字列にマッチってなんじゃろ?
.* ということではなくて?

あとLWP::UserAgentはredirectの解決もしてくれるから便利だよ。
curlはよくしらないけど。
0617nobodyさん03/01/28 17:09ID:oYLjlQQn
かぶった。
0618腐れ厨房(゚腐゚)03/01/28 17:20ID:vWtuYxkU
.*だと空白とか\nとか\rにマチしナインで都合悪いんです。
あとLWPは何度やてもうまく逝かなかたんで諦めましたです。curlはwgetライクで使い安いです。
0619nobodyさん03/01/28 17:39ID:???
腐れ厨房←他人のコテハン使うの止めろ。
荒らし←どうせ2chだろ。

氏ね
0620nobodyさん03/01/28 17:48ID:???
man perlre読め。
/.*/s
0621腐れ厨房(゚腐゚)03/01/28 18:42ID:vWtuYxkU
>>620
ありがとです。たたまたま分かりましたです。

>>619
名無し風情がエラそです。
0622けんすう ◆mTj9hjLz9w 03/01/28 19:22ID:???
腐れ厨房さんだ!本物?
0623nobodyさん03/01/28 19:46ID:wCME9ZCu
open(FILEA,"/var/tmp/a");
open(FILEB,"/var/tmp/b");
while ($linea=<FILEA>) {
while ($lineb=<FILEB>){
if ( $linea eq $lineb ){
処理・・・
}
}

見たいな事ってできないんでしょうか?
上記のコードだと FILEAのループが
1行分で終了してしまうのですが・・

0624nobodyさん03/01/28 19:53ID:???
>>623
配列に代入してforeachを使ってみてはどうだろうか
0625nobodyさん03/01/28 19:55ID:???
>>623
goto
0626nobodyさん03/01/28 19:57ID:wCME9ZCu
>>624-625
ほぅほぅ。
とにかく623のコードじゃダメなわけね。
なんでダメなんだろ?理由がわからない。
0627nobodyさん03/01/28 20:01ID:???
>626
ファイルハンドルからのデータ取得は、一度最後まで行ったらseekしないと戻らないから。
0628nobodyさん03/01/28 20:07ID:???
>>627
なるほど!!
じゃぁ1個目のWhile文のなかでFILEBをOPENするか、Seekで先頭にもどすかすれば
だいじょうぶかな?
こんど試してみます。今、環境がないんで。
0629nobodyさん03/01/28 20:07ID:VjdgexrL
>>623
一個目のwhile抜けた後でseek FILEB,0,0でもすれば?
0630腐れ厨房(゚腐゚)03/01/28 20:53ID:EPPQeVDF
>1個目のWhile文のなかでFILEBをOPENするか
僕の環境だとそれで逝けましたです。なんかネストしたらシクしないて不良品てカンジイです。

>>622
僕です。
0631nobodyさん03/01/28 20:57ID:???
板違いかもしんないけからsageで・・・
フォームのサブミットボタンに表示させる文字って
VALUE=" "に書くやんかぁ?
でボタンにダブルクォート自体を表示させたい場合ってどうするん?
どうするん?
どうなん?
0632 ◆PerlqhxPVA 03/01/28 21:03ID:???
>>631
value='"こんなん"'
0633nobodyさん03/01/28 21:07ID:???
>>632
ほぉー!
なるほど。

じゃぁじゃぁ シングルクォートとダブルクォート両方を表示したい時は??
0634nobodyさん03/01/28 21:08ID:???
>>631
http://tohoho.wakusei.ne.jp/html/char.htm
0635nobodyさん03/01/28 21:12ID:???
>>634
ほぉー!
なるほど。

いやぁ実はPerlでCGI作ってて、フォームで入力してもらった文字列を
表示させる部分があるんですが、そのまんま表示してるんで < とか ”とか
入力されたら困ってたんですよね。

ほー!
こういうのを自動でチェック、変換してくれるよかモジュール知らんですか?
0636nobodyさん03/01/28 21:15ID:???
>>633
"'&quot;"
こうする
0637nobodyさん03/01/28 22:57ID:???
>>633
qq{}
0638nobodyさん03/01/28 23:22ID:???
>636 それHTMLだけだろ

637の方法以外に \" \'
0639nobodyさん03/01/28 23:26ID:0+yLIxs1
0640nobodyさん03/01/28 23:28ID:???
これでなんで動かないんですか?

#!/usr/bin/perl
print"Content-type:text/html\n\n";
print<<EOF;
<html>
<body>
あああ
</body>
</html>
EOF
0641nobodyさん03/01/28 23:38ID:6cWKDFOV
>>640
#!/usr/bin/perl
→
#!/usr/local/bin/perl
にしてみた?
0642nobodyさん03/01/28 23:39ID:???
>>640
最後の行の「EOF」の後に
半角スペースが入っている。
0643nobodyさん03/01/28 23:45ID:???
>>640
具体的にどう動かないのかちゃんと書いてくれ。
ちなみにうちの環境では期待する動作をした。
064464003/01/28 23:49ID:???
>>641
サーバーは#!/usr/bin/perlなんです。
念のため#!/usr/local/bin/perl にしましたがダメでした。

>>642
>>640の書きこみはスペース入ってますが実際はスペースはありません。
一応書きなおしましたがダメでした。

#!/usr/bin/perl
print"Content-type:text/html\n\n";
print"あああ";

だと動きますが、

#!/usr/bin/perl
print"Content-type:text/html\n\n";
print<<EOF;
あああ
EOF

だと動きません。
0645nobodyさん03/01/28 23:50ID:???
EOF
の次の行に
;
とか。
改行コードがおかしいとか。
064664003/01/28 23:51ID:???
>>643
実行するとInternal Server Errorとでます。
064764003/01/28 23:53ID:???
>>645
最後の行に";"を入れたら動きました!!
ありがとうございました!!!!
064864003/01/28 23:54ID:???
最後に";"を入れないと動かないサーバーもあるんですか。
知りませんでした。
0649nobodyさん03/01/29 00:07ID:???
>>647
それはPerlの構文的にヘンだなぁ。(俺が知らないだけかもしれんが)

ヒアドキュメントの終端文字列は << "EOF"; みたいにダブルクオートで括ったほうがいいよ。
065064003/01/29 00:13ID:???
>>649
おぉ!!
<<"EOF";にしたら
最後の行に";"を入れなくても動きました!
基本的な事ですがかなり勉強になりました。
っていうか今まで全然プログラムが動かなかったのもこのせいか・・・
0651nobodyさん03/01/29 00:13ID:???
>>646
Internal Server Error ってのはCGIからの出力が来ないときにブラウザが出す
エラーだから、これを書かれても根本的な原因は一切分からないんだよ。

コマンドラインで実行させた結果を書いてくれるとすぐ分かる。
たとえばこんなの。(うちでは最後の行に ; をつけたらこう出た)

Can't find string terminator "EOF;" anywhere before EOF at test.cgi line 3.
065265103/01/29 00:17ID:???
あ、なんだ、EOFの次の行か…
まあいいか。
0653nobodyさん03/01/29 00:39ID:???
EOFの最終行に改行が足りていなかった予感。
0654nobodyさん03/01/29 00:43ID:???
>>653
そ、それは盲点だ
065564003/01/29 00:44ID:???
>>653
その通りでした。感謝!
0656nobodyさん03/01/29 01:29ID:???
日曜スクリプティングで、素人ながらも何とか基本的なコマンドを
使って掲示板くらいは1から自分で作れるレベルになったのですが、
まだ色々無駄があったりすると思うのです。

それで、コーディングが奇麗な、参考になる(初心者にも比較的読み
やすい)スクリプトは、どこかに公開されてないでしょうか?
0657nobodyさん03/01/29 02:51ID:???
KENT-WEB
0658nobodyさん03/01/29 03:04ID:HsIeKX/p
結構くだらない質問です・・・
下記の様にそれぞれの変数に、同じ文字列を連結して
$a.='<table border="0">';
$b.='<table border="0">';

途中で処理が加わり$a,$bに違う値が連結され・・・

最後に下記の様に連結して締めようかと思います。
$a.='</table>';
$b.='</table>';

質問というのは同じ文字列を違う変数連結する場合、
1行にできないのかという事です。
($b,$a).='<table border="0">'; #イメージ・・・$bにだけ連結して駄目でしたが・・・



0659nobodyさん03/01/29 03:30ID:KC7FDxMH
>>658
期待してる回答とは違うとは思うが
map {$_ .= '<table>'} ($stringA,$stringB);
とか。

あと、$a,$bは普段から使うの避けといた方がいいかもね。
sortで使うから。
0660nobodyさん03/01/29 09:25ID:???
>KENTの悪いところ
>1.スクリプトが冗長だから省略するのに慣れてる人には読みにくい
>2.メモリの利用効率が悪く、スクリプトも速くないからサーバに負荷をかける
>3.CGIは起動コストがかかるのでHTMLファイルを生成した方がよい

メモリの利用効率というのは、スクリプト書く時に
どういうことに気をつければ良いのでしょう?

掲示板なんかだと、出力は極力HTMLファイルとして細かに保存していった方が良いのでしょうか?
0661nobodyさん03/01/29 09:41ID:zyXgtkRr
http://www.agemasukudasai.com/bloom/
0662nobodyさん03/01/29 11:16ID:tPWI6izk
>KENTの悪いところ
>1.スクリプトが冗長だから省略するのに慣れてる人には読みにくい
>2.メモリの利用効率が悪く、スクリプトも速くないからサーバに負荷をかける
>3.CGIは起動コストがかかるのでHTMLファイルを生成した方がよい
↑ほんと難癖だなw

1.ある程度一般的な書き方だと思うし、もともとperlは制約が少ないんだから仕方ないべ。単に自分の書き方と違うから気に食わないだけだろw
2.ソースは?w
3.馬鹿の一つ覚えだな。
0663nobodyさん03/01/29 12:34ID:???
引用元はこの古い投稿です。
http://pc2.2ch.net/test/read.cgi/php/997199513/96
0664nobodyさん03/01/29 13:01ID:22PcLDQj
>>659
なるほど、なんとなくすっきりしました。
もっと一般的な簡単な方法があるのかなと思っておりました。

$aはたまに使ってますね・・・
気をつけます。
0665nobodyさん03/01/29 13:28ID:???
メモリーの利用効率ねぇ・・・Perlで細かくメモリー管理ができるのかしら。
0666nobodyさん03/01/29 13:31ID:???
書き方どうこうよりクロスサイトスク(以下略
0667nobodyさん03/01/29 16:39ID:???
>>666
サーバサイド言語のスレでわざわざ語ることではないけどな。
0668nobodyさん03/01/29 16:54ID:XF7MERR2
CGIの出力でファイルを新規に作成した場合
FTPソフトなどで作成したファイルを削除・変更しようとしても
権限がなくて実行ができなくなってしまいます。

ファイルを新規作成するときに何か特別な処理が必要なのでしょうか
もちろん調べまくったのですが原因がよくわからないのです。
よろしければ教えていただけないでしょうか?
0669nobodyさん03/01/29 16:59ID:19DeFoXE
>>668
ファイルの所有者がnobodyとかapacheとかwwwとか、
とにかく自分のものではない場合CGIで作ったファイルはCGIで削除しないといけません。
0670nobodyさん03/01/29 17:05ID:v+6haFSn
flockがうまくいきません。教えてください。

if (open(MBOX, ">>".$votename)) {
 print "ファイルを開きました。<br>\n";
} else {
 print "ファイルを開けません。<br>\n";
 die "Can't open mailbox: $!";
}
if (flock(MBOX,$LOCK_EX)) {
 print "ファイルをロックしました。<br>\n";
} else {
 print "ファイルをロックできません。<br>\n";
}
この結果、
ファイルを開きました。
ファイルをロックできません。
になりました。
0671nobodyさん03/01/29 17:08ID:???
>>670
初回時ロックを解除しないで終了しました?
0672nobodyさん03/01/29 17:14ID:19DeFoXE
>>670
$LOCK_EX = 2;
が無い可能性大。
または、flock(MBOX,2)でどうよ
067367003/01/29 17:17ID:???
>>671
レスありがとうございます。
closeしてるから大丈夫だと思ってます。

ISPはinfoseekです。
067467003/01/29 17:20ID:???
よく見たらcloseしてませんですた
スレ汚しすまそ
067567003/01/29 17:22ID:???
>>672
レスサンクス、逝ってきます
0676nobodyさん03/01/29 17:27ID:XF7MERR2
お答えありがとうございます
全削除のCGIでもいそいそと作成します
0677nobodyさん03/01/29 18:00ID:???
正しくは、

use Fcntl qw(:DEFAULT :flock);
flock(FILE,LOCK_EX);

な。
LOCK_EXはおおえす依存だから、シソボルはインポートするのが良い。
0678nobodyさん03/01/29 18:16ID:zyXgtkRr
http://www.agemasukudasai.com/bloom/
0679nobodyさん03/01/29 22:35ID:???
外部から受け取った変数をファイル読み込みの変数に使うにはどうすればいいのですか?
$bufferという変数に"./hoge.dat"みたいな文字列を渡したのですが、
open(IN, "$buffer");
とやっても上手く開いてくれません
0680nobodyさん03/01/29 23:07ID:???
外部って何から入力するの?

環境変数なら %ENV、
コマンドライン引数なら @ARGV、
標準入力なら<STDIN>

お好きなのをどうぞ。
0681貧乏パーラー03/01/29 23:08ID:???
>>553 plala規制で亀レススマソ
シンプルcrond perl板、以下のUUEコードを開いてcrond.plが出来てるから
begin 666 crond.zip
M4$L#!!0````(`+.*.BZ8A!N!J`,``,8'```(````8W)O;F0N<&R555MOTT@4
M?HY_Q2$QQ%8=7](4[28UE(IRD1!")>*ES0K7GC2S./8P,Z98D/WM>\Y,'!)1
MJ<)JW9ES^<YW;N[@4=0H&=WP*A),EDZC&,SYFDVG[^H\*V'F",DK#:>G\[?S
M<[P.X`/:02[KJH#S%MZ$NO[":AC'\7&41,E3<`8KK<4TBN[N[D)V*^M&J#"O
MPW]%M.0E4]%%=3LZ-^'F7*CH1:-K<S"8$480B>$`+]D2\A7+O\!)VK),!I-T
M75?!<5ID;3!.5W4C@R1=\RJ(4\5R\AS#1YU)#1K]%[email protected]\8GCR8%@J
M&)49$)5K5[09OM8UOHIL"%P9>8O/>ET4Z*4TKVY]!,+'`!EB2F=K`=\RJ:9@
M==UC("&UMH:SP=\*D+U>!2989X.I'""0=M5LE29#`N"I]>=5HYDBD6)6A'D3
MA2LQ^8T?EH])ALW#O$=_G4SBF!(<)=N0X@3*^M:T1+"<+UM3GV?/#$Z(*I.V
M>+K`FDBE"10+JYB&5V\O/\XA=&@D'-7<P`>,^AH5/YS>N@6WP+ZEH%9\J7%B
M2.2YR#-PJ54N)A6XU$&7FNFVF?2MD2LTNE'G2IH]S[SI2GI2'J4$C9<'X%+8
MN7KHY\](>I0F?\?QC*SP2(@H))IFP)=>_W$\*?H[/F1WJ!V3%J5&BP'OT:+4
M:)'3/5J46F1^+S*WR-30W[4H):UDNI'5`^ECS3?.6:ETNBO#S''-=DG=+M/X
MX)8$]K+$B4H"N^W]5Z;C-`C751_X$AOXXO+UIZN31?I?](_I?X1\[E8X/5[B
M4^-5R9C`,[(\$X>Q>P3@L6_84Q=I75FL>+'PX1%.NI&+`[G_\Z>WH^4;_-XO
MFIA`;Q_ST!?2#M.(DGTTRG@+USNL2*\W&-A/AY!U3GK"90$M7T`K&=#6TK4.
M:,=QR+93[^T%.\9@,^O\P(1VSK&UW];]`BL^M5#CQ75%MA%Y16;@"&E*F%-"
MQ\YT7^<^;?W(;/WH4R:G1+"C:D@;^B81Q8P?Y7]#@V;(#X&V^`>XLJ05_#P,
M.P[;PV01#N'S#+KY>^[/-D-_!H335/@%43@A9]O"]ER6UP5+GV`$$VF;':&'
M_2[\'Y>HJ]%C2P)L%/B3:A&*&6;KRK[",!YVK/<'(K&VNY!PR;1LX3W[KO$+
MFZM?'\-P![RA]\:4A)7X;]2B%IQ!/Z]E582BA`LI:PG(>+S79>M/[OB+/TLT
M\5R.4^GR4]HE_'MTY%-_S/;P!?;(#CT>9QMG\S]02P$"%``4````"`"SBCHN
MF(0;@:@#``#&!P``"``````````!`"``MH$`````8W)O;F0N<&Q02P4&````
/``$``0`V````S@,`````
`
end
そいで毎朝8時に自分の携帯におはようメール送る例が以下
./crond.pl 2 8 'perl mailsnd.pl SMTPServer from-mailaddr "$pmo月$pda日おはよう" "8時です!"'
と打ってmailsnd.txtに自分の携帯メルアド入れとくこと
0682nobodyさん03/01/29 23:10ID:???
>>679
それだけじゃ分からんよ……

「外部」ってどこ?
「上手く開かない」って、どう上手く開かないの?
エラーが出てるならその内容も書いて欲スィ。
(Internal Server Error は書いても無駄なのでよろしこ)
0683nobodyさん03/01/29 23:34ID:Fxyvk81T
すまんです、
文字コードの変換のプログラムをいじくってたら
&jcode'sjis2jis(*value);
↑こんなのあったんですが、これってどういう意味ですか?

必要な情報が少ないかもしれませんがよろしくおねがいします。
0684nobodyさん03/01/29 23:40ID:???
>>683
http://www.mikeneko.ne.jp/~lab/kcode/jcode.html#h2-3
068567903/01/29 23:41ID:???
すみません、外部というのはFLASHのことです。
FLASHがCGIを呼び出す時に"./hoge.dat"という文字列を渡し、
それをCGIが$bufferという変数に受け取ったのですが・・・。
下のようにしてFlashにmyDataとmyBufferという変数を返してみると、
myDataの中身は空っぽでmyBufferの中身は"./hoge.dat"という文字列でした。

read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
open(IN, "$buffer");
$toFlash = <IN>;
close(IN);
print "Content-type: text/plain\n\n";
print "myData=$toFlash&myBuffer=$buffer";


ちなみに下のようにPerlに直接ファイル名を書けばちゃんとmyDataにファイルの一行目が表示されました。
$buffer = "./hoge.dat"
0686nobodyさん03/01/29 23:42ID:???
jcode.pl(だと思うが)で $value を sjis から jis に変換している。
0687nobodyさん03/01/29 23:48ID:???
>>685
>$toFlash = <IN>;
を
$toFlash = join('', <IN>);
にしてみる。
0688nobodyさん03/01/29 23:48ID:???
>>684
>>686
ありがとうございますー!
0689nobodyさん03/01/29 23:53ID:???
>>688
ahoka
0690nobodyさん03/01/29 23:55ID:???
>>685
FLASHからのCGI呼び出しがいまいちよくわかんないけど、
GETメソッドで来てるってことはない?
そのソースだとPOSTでしか受け取れないよ。
$ENV{REQUEST_METHOD} の中身はどうなってる?
069167903/01/30 00:08ID:???
>>687
やってみたのですが相変わらず何も返ってきませんでした…。
>>690
POSTで送りました、$ENV{REQUEST_METHOD}の中身もPOSTになっていました。
0692nobodyさん03/01/30 00:18ID:???
>>685
>myDataの中身は空っぽでmyBufferの中身は"./hoge.dat"という文字列でした。
>print "myData=$toFlash&myBuffer=$buffer";
$bufferの内容はカラだったの?
0693nobodyさん03/01/30 00:31ID:???
$bufferの内容:myBuffer=./hoge.dat
なら、
(undef, $buffer) = split(/=/, $buffer, 2);
かな。
Flashの仕様が判らないんで、すまそ。
(そうだとしたら、きちんと処理した方がいいと思う。)
069467903/01/30 01:25ID:???
>>692
>>693
$bufferの内容:./hoge.dat
です。
すみません、実はCGIは勉強し始めてまだ数日なので基礎からなっていません。
もう少し自分でなんとかしてみます。
暫くは適当な値を送ってそれをCGIでif(あればcase)で判定し
その中に直接ファイル名を書いておきます。
(これだとファイルを加えたり名前を変えるたびにPerlを書き換えないといけないのですが・・・)
0695nobodyさん03/01/30 01:28ID:???
chomp;
0696nobodyさん03/01/30 01:37ID:???
chomp $buffer;
0697nobodyさん03/01/30 06:56ID:???
改行がついてるという可能性もあるかもね。
(>>695,696はそれが言いたいはず)
表示して確認するときは、前後に " なんかをつけてみるといいかも。
非表示文字がついてるかもしれないから、length で長さを表示して
見た目の長さと一致するか確認するという手もある。
■ このスレッドは過去ログ倉庫に格納されています