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

CGIだけど、なんか質問ある? Part 12

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん04/10/10 00:04:06ID:???
CGIの運用に関する質問スレッドです。

※ CGIはウェブサーバ上でユーザプログラムを動作させるための仕組みであり、
Perl等特定の言語に依存するものではありません。

Perlのコーディングに関する質問は、専用スレでお願いします:
[Perlコーディング初心者質問スレ Part 38]
http://pc5.2ch.net/test/read.cgi/php/1097158988/

CGIとPerlの区別がわからない、という人はとりあえずこちらへ:
[△▲ WebProg 初心者の質問 Part10 ▼▽]
http://pc5.2ch.net/test/read.cgi/php/1095633323/

過去ログ・関連スレッドは>>2-10あたりに
0618nobodyさん2005/04/30(土) 21:26:12ID:dPG6HY/M
質問です。以下の様なCGIがあったら教えていただけないでしょうか?
よろしくお願いいたします。

【種別】 掲示板
【条件】 書き込みがあった時に、すぐに公開されずに、
     管理人のよる記事の検閲(公開・非公開の選別)が可能であるもの。
【言語】 Perl
【備考】 BBSへのいたずら防止目的で使用したいと考えております。
0619nobodyさん2005/05/01(日) 00:06:35ID:zw8JbeXP
ダウンロードしてきたCGIの説明書になんとかっていうファイルにINDEX.HTMLを入れるって書いてあるんですが
INDEX.HTMLは必ずftttpファイルの直下に置かなきゃいけないんじゃないですか?
0620nobodyさん2005/05/01(日) 00:08:40ID:???
わけわからん。
0621nobodyさん2005/05/01(日) 01:31:57ID:???
質問よろしいか?答えられる人いるのか謎だ

書き込んだ内容が別の言葉に変換されるモジュール(pm)を手に入れて
useでモジュールを呼び出したがCGIエラーになってしまった
作成者のサイトではuseで使用できると書いてあったのにどうしてエラーになるのでしょうか?
0622nobodyさん2005/05/01(日) 01:49:06ID:???
>>621に誘導されてきたんだけど
「useで使用できる」と書いた人に聞け。

>答えられる人いるのか謎だ
こんなこと言われて答える気にはならんよなぁ。
0623nobodyさん2005/05/01(日) 01:57:04ID:???
作者のサイトにはメールアドレスも掲示板もないのだ
ただモジュールのソースだけが書いてあった

>答えられる人いるんか謎だ
結果的に答えてくれないのだからまちがってはいないだろう
0624nobodyさん2005/05/01(日) 02:01:24ID:???
>>623
それが人に物を尋ねる態度か

そもそもそのモジュールがきっちり動作するものかどうかわからんのに、
useで使用した、使用できると言ってる、使用できなかった、だけで判断できると思ってるのか?

お前の質問はだな、
「19chが映るテレビを手に入れて
リモコンでチャンネルを変えてみたがサンドストームになってしまった
電気屋ではリモコンを使用できると言われたのにどうしてサンドストームになるのでしょうか?」
みたいなもん。
0625nobodyさん2005/05/01(日) 02:04:02ID:???
なるほど一理ある
0626nobodyさん2005/05/01(日) 02:06:09ID:???
黄金週間マンセー
0627nobodyさん2005/05/01(日) 02:08:53ID:???
require と use を使ってみたが結局エラーだった
モジュール事態使えないということか
0628nobodyさん2005/05/01(日) 02:10:26ID:???
>>627
・モジュール自体に問題がある
・実はお前のuseの使い方自体がおかしい
・モジュールをDLしたときに破損していた

原因を網羅しろっつーのか?
0629nobodyさん2005/05/01(日) 02:13:27ID:???
あまり他人に頼ったこと無いから協力して解決の糸口を見つけることが
苦手なのだが? 原因の網羅は第三者には無理であろう?可能性を言うだけで
根本的な解決策はソース見ないと特定できなそうだが?
0630nobodyさん2005/05/01(日) 02:14:43ID:???
>>629
> 根本的な解決策はソース見ないと特定できなそうだが?
わかってるんならこんな質問すんなよ。
0631nobodyさん2005/05/01(日) 02:16:42ID:???
逆切れか… 
use モジュール名; でuseの使い方はあっているのか?
0632nobodyさん2005/05/01(日) 02:20:33ID:???
>>631
> 逆切れか… 
逆切れの意味わかってないってのはまじでリアルでのコミュニケーションなさげだな。

> use モジュール名; でuseの使い方はあっているのか?
あってる。リファレンスサイトで解決できるようなレベルだろう。
ちょっとは努力したらどうだ?

つか、モジュール利用経験あるの?
0633nobodyさん2005/05/01(日) 02:22:46ID:???
モジュール利用経験ないから困っているのだ、独学でやるから情報が足りないのだ
会話は相手の目を見ないと感情が分からない
0634nobodyさん2005/05/01(日) 02:25:01ID:???
>>633
感情などどうでもいい。
お前が教わる立場で俺が教える立場。
それ以上でもそれ以下でもないんだ。

ここら辺読んでみろ。で、簡単なモジュール作って動くか試してみろ。
ttp://www.rfs.jp/sitebuilder/perl/04/01.html#2%81D%83%82%83W%83%85%81[%83%8B

上手くいったらそれと同じ方法でさっきのモジュール使ってみろ。
それでダメならモジュールに問題があるんじゃねーの?
0635nobodyさん2005/05/01(日) 02:26:31ID:???
thx 本格的な礼は成功してからだ
0636nobodyさん2005/05/01(日) 02:27:45ID:???
>>635
礼などいらん。
できたらそれでいいんだからもう来るな。
できなかったらモジュールに問題があって、
それはまた別の問題だから諦めてもう来るな。
0637nobodyさん2005/05/01(日) 02:30:00ID:???
ちょっと複雑だな返信するのに時間がかかる
0638nobodyさん2005/05/01(日) 02:30:45ID:???
>>637
時間かけなくていい。
もう来ないでくれ。
0639nobodyさん2005/05/01(日) 02:33:25ID:???
初めて覚えることは分かるまで20回くらい読むのだ
0640nobodyさん2005/05/01(日) 02:34:03ID:???
>>639
そっちに時間をかけてりゃいいだろ。
こっちに書く必要はないから。
0641nobodyさん2005/05/01(日) 02:39:02ID:???
ちょっと質問よろしいか?実験してるんだが
まず
package Module;

use Exporter;
@ISA = (Exporter);
@EXPORT = qw(sub1 sub2);

この部分をコピペしたらきちんと表示されたのだが、Exporterの部分を
例のモジュール名に変えたらエラーが起きた、根本的にExporterっていきなり書いてあって
pmファイル作ってないぞ? とか思ったのだが。Exporterってなんなのだ?
0642nobodyさん2005/05/01(日) 02:39:40ID:???
(;´∀`)久しぶりに真性を見た気がする。
0643nobodyさん2005/05/01(日) 02:45:28ID:???
>>641
http://www.google.co.jp
0644nobodyさん2005/05/01(日) 02:46:50ID:???
Exporterで検索してもビデオ出力とか出てくるぞ?
0645nobodyさん2005/05/01(日) 02:49:23ID:???
すまなかったエラーは出なくなった
自分の書き込みを見て恥を書いたぞ?Moduleを変えるのだな、それに
PMファイル事態最初の文字が大文字ではなかった
0646nobodyさん2005/05/01(日) 02:50:08ID:???
少しサブルーチンをいじってみる
0647nobodyさん2005/05/01(日) 02:56:50ID:???
ありがとうな 助かった
0648nobodyさん2005/05/01(日) 22:02:47ID:???
一応言っておくが、ここはCGIのスレであってPerlのスレじゃないぞ
0649nobodyさん2005/05/01(日) 22:08:54ID:???
当方 WinXP + Apache + Active Perl なのですが、

ローカルで動作確認時に
#!C:/Perl/bin/perl を
#!/usr/local/bin/perl で
済ます方法を誰か教えて下さいまし。

ハードリンクは上手くできませんでしたorz
0650nobodyさん2005/05/01(日) 22:27:09ID:???
>>649
http://httpd.apache.org/docs-2.0/mod/core.html#scriptinterpretersource

以後、Apache の質問は Apache スレへ。
http://pc8.2ch.net/test/read.cgi/php/1043851302/
0651nobodyさん2005/05/01(日) 22:57:13ID:???
>>650
サンクスコー
でも自分の技量じゃ無理っぽいので他の方法考えて見まつ。
06526492005/05/02(月) 01:21:16ID:???
なんとかその方法でできますた。感謝(^^
セキュリティの部分に書かれてることがちょっと心配なので、勉強してみまつ。
0653nobodyさん2005/05/02(月) 07:59:56ID:???
>>636に深い愛を感じる。良い香具師だな、おまい。
0654nobodyさん2005/05/02(月) 13:44:13ID:Q52Bj/Jx
Googleなどで自分なりに色々調べてみたのですが、
どうしてもわからないので質問させて下さい。
# もしスレ違いでしたら該当スレに誘導して頂けると嬉しいです。

image::magickでサムネイルを作成するperlスクリプトを書いているのですが、
JPEG、PNG、通常のGIFは上手く行くもののアニメーションGIFが上手く行きません。

そこで、
1.アニメーションGIFはimage::magickで縮小できるのか
2.できるのであればそのやり方
3.できないのであれば通常のGIFとアニメーションGIFとの(プログラム上の)見分け方
についてアドバイス頂ければと思います。

ご存知の方がいらっしゃいましたら何卒ご教示下さい。
よろしくお願い致します。
0655nobodyさん2005/05/02(月) 14:02:05ID:???
>>654
ttp://www.tohoho-web.com/wwwgif.htm
アニメgifをバラバラにしてimage magickして再度連結してヘッダーを修正すればできるんじゃない
0656nobodyさん2005/05/02(月) 14:54:49ID:???
>>655
あ、なるほど。早速その方法で試してみます。
ご回答頂き有り難うございました。
ヘッダーの違いに関する参照リンクまで用意して頂き、本当に感謝します。
0657nobodyさん2005/05/02(月) 14:57:44ID:???
>>654

my $ani = Image::Magick->new;
$ani->Read("ani.gif");
$ani->Resize(width=>200, height=>200, blur=>0.7);
print "Content-type: image/gif\n\n";
binmode STDOUT;
$ani->Write('gif:-');

とりあえずこれでできたが(アニメしたまま縮小)、
もしかしたら元のアニメGIFに左右されるのかも。
0658nobodyさん2005/05/02(月) 16:01:47ID:???
>>657
ありがとうございます。
結果は・・・今しばらくお待ち下さい。

そのソースを動かしてみたところ何故かサーバがハングしてしまって・・・。
何がいけないのかよくわからないのでちょっと時間がかかりそうです。
# 気づいた後から考えると大抵くだらないミスだったりするんですが、
# その時には案外気づかないもので・・・。

動かせたら報告に来ますね。
0659nobodyさん2005/05/02(月) 16:29:06ID:u/Tu5sm0
SSLサーバー対応のCGIと未対応のCGIって何が違うのでしょうか?
0660nobodyさん2005/05/04(水) 23:09:32ID:V8PGwM3s
EXEC又はSSIのコマンドを使ってサーバー上で実行中のプロセス数(cgiの実行数)を取得するようなことはできないでしょうか?
そういったテクニックがあればご教授願います。
0661nobodyさん2005/05/04(水) 23:19:52ID:+PrCDRLf
http://hostlove.com/cgi-bin/caat/ibo.cgi?page=1&str=%94%90
南柏のアトラスをよろしくね。
皆さん来てください。
0662nobodyさん2005/05/05(木) 00:37:52ID:lHBvZskF
一定時間で何かをする という操作はどうすればいいでしょうか?^^;
わかりにくくてすいません^^;
0663nobodyさん2005/05/05(木) 01:05:24ID:???
cron
0664nobodyさん2005/05/05(木) 07:30:11ID:???
誘導されてきました。
XAMPPをインストールして動かしているのですが、Perl だけ500エラーを返してきました。
スクリプトに問題は無いはずなのですが・・・。なぜでしょうか?
0665nobodyさん2005/05/05(木) 17:05:56ID:???
>>664
サーバのログを読め
06666642005/05/05(木) 18:15:26ID:???
スクリプトで示しているPerlのパスが違っていたようです ..... orz

#!/usr/bin/perl では動作しませんでしたが、
#!usr/bin/perl では動作しました。

できれば #!/usr/bin/perl で動作させたいのですが・・・。
どうすればいいでしょうか。
(ちなみに、現時点でのperl.exeの位置はc:\apachegroup\xampp\usr\bin\です。)
0667nobodyさん2005/05/05(木) 18:45:31ID:???
>>666
>>650
0668nobodyさん2005/05/13(金) 15:33:18ID:WNC6vHqp
オールフラッシュのページにCGIでできている
リンク集(データベースみたいな物)はつけれるのでしょうか?
初心者のためまったくわかりません。詳しい人がいましたら教えていただきたいですm(_ _)m


0669nobodyさんNGNG
>666
ルートディレクトリはどうなった?
usr/bin/perl

cd ../..
file not fo........
0670nobodyさん2005/05/13(金) 23:10:45ID:???
>>668
flashやCGIに適切に手を加えればできます。
付けるという言葉より作り直すという言葉が適切なほど、面倒な作業になることでしょう。
0671nobodyさん2005/05/14(土) 13:17:30ID:nH7byT7r
配布されてるCGIに良くまざってるjcode.plってなんですか?

てかこれからperlを覚えようと思うんだけど、PHPのがいい?PHPのが簡単?
0672nobodyさん2005/05/14(土) 13:20:31ID:???
まずはぐぐることから覚えようね。
あと、中のコメント見ればいいだろうに。
0673nobodyさん2005/05/14(土) 15:43:17ID:???
>>671
http://x-web.pobox.ne.jp/fcgi/fcgi_f3.html
0674nobodyさん2005/05/15(日) 02:28:14ID:???
とある2chスレの過去ログ倉庫を運営している者なんですが、
キーワード検索で該当するレスを抽出してくれるスクリプトは
配布されてないでしょうか

↓こういうのです。
http://iwaizumi.vis.ne.jp/index.html

できればPerlが望ましいです。よろしくお願いします
0675nobodyさん2005/05/16(月) 11:43:40ID:oPXHCd7S
番外変
初歩的な質問だけど、登録されたページのタイトルを変更したら、その新しいタイトルで検索しても出てこない。
変更の再登録が必要ですか?やっぱり。
0676nobodyさん2005/05/18(水) 01:18:12ID:???
c-boardをapache2で動かしてる方いらっしゃいますか?
現在自宅サーバ上で動かそうとしているのですが、
どうやっても動きません。
エラーとしては、
Premature end of script headers
であり、文字コードをEUC+LFに変更してみたのですがだめでした。

ちなみに、CGIで同じエラーで動かないものと、
動くものがあり、エラーがでるものは同様に何をしても動きません

ほかにどのような原因が考えられますでしょうか。
よろしくお願いします
0677nobodyさん2005/05/18(水) 05:57:27ID:???
>>676
CGI設置について質問 【Part2】
http://pc8.2ch.net/test/read.cgi/php/1104624784/
0678nobodyさん2005/05/18(水) 07:19:11ID:???
ありがとうございます
いってみます
0679nobodyさん2005/05/20(金) 23:55:45ID:???
ここで質問していいのかどうかわからないんですがおながいします。
Excelシート(表)をアップして、おんなじディレクトリに作ってあるサイトのコンパネからそのサイトのTOPページに
html自動生成して表示させたいんですけど.....これってどうやればよろしいでしょうか??

やったことないからまったくわからん。どなたかお助けお願いします。。
0680nobodyさん2005/05/22(日) 19:41:55ID:jIddMVZs
<form XXX.cgi>
ほにゃらら
</form>

を実行して、画面移行後を.cgiではない拡張子にするには何か方法がありますか?
.htmlか.shtmlにしたいんですけども。
0681nobodyさん2005/05/22(日) 20:59:56ID:???
実行後redirect等でhtmlページに飛ばす
06826802005/05/24(火) 15:53:16ID:gieb2d8s
681サンの方法では.cgiの内容を実行しないでredirectされてしまいます。
何か良い方法はないでしょうか。
0683nobodyさん2005/05/24(火) 15:54:48ID:???
>>682
実行後にredirectすれ、と書いてあるように見えるが?
どうやったのか書いてみ
06846802005/05/24(火) 16:07:13ID:gieb2d8s
.htaccess内に redirect xxx.cgi http://....../aaa.shtml
とやっただけです。.cgi内にはcookieにいろいろ書き込む事が書いてあったので、
結果表示は飛んだ先のshtml内でユーザのHDDからcookieを拾えばいいかなと。
そう思ったのに出来てないのです。
「実行後にredirect」という方法がわかりません。すいません。。。
0685nobodyさん2005/05/24(火) 16:30:06ID:???
>>684
htaccessを使ってredirectした場合、ここにはcgiが無いのでredirect先に移動すれって意味になる。
そのため、cgiの処理は実行されない。

一方cgiの出力としてhttpヘッダのredirect(status codeが301や302。307もか)を出すと、
cgiの処理後にやっぱここじゃなくてredirect先に移動すれって指示することができる。

具体的には、perlの場合 print "Content-type: text/html\n\n"とかになっている所を
print "Status: 301 Moved Permanently\n";
print "Location: redirect先の絶対URL\n\n";
のように変更。詳しい内容は上の文章で出てくる単語でググるべし。
0686nobodyさん2005/05/24(火) 17:59:36ID:RAvVemHG
すみません、質問です。

ワードで作った文書をデータで展開してくださいと言われたのですが
どのように展開していいのか分かりません。ワードでの文書はできています。
だれか教えてください。
0687nobodyさん2005/05/24(火) 18:05:36ID:???
>>686
その人に聞いてください。
その人が期待しているものが何なのか分からん。
つーか、オマイが何で聞き返さなかったのかも分からん。
0688nobodyさん2005/05/24(火) 23:30:00ID:???
質問させていただきます
掲示板にID機能を付けたいと考えてます
ホストから適当なIDに変換して成りすましができないように
するにはどのようにすればよいでしょうか?
簡単なものでもいいのでよろしくお願いします
0689nobodyさん2005/05/25(水) 00:00:17ID:???
>>688
成りすまし防止なら、ホストを表示しるw

それかトリップ。

それか、crypt $host, "$1$"+$salt で、尻の方から適当な文字数を抜き出せ(最大22バイト)。
06906802005/05/25(水) 00:51:35ID:Yut2C7b6
685さん親切ですね。どうもありがとう。
0691nobodyさん2005/05/25(水) 15:56:38ID:???
>>689
どうもありがとうございます
ホストから一部抜き出すこともできるみたいですね

crypt $host, "$1$"+$salt
これをCGIに付け加えると良いんでしょうか?
0692nobodyさん2005/05/25(水) 16:13:41ID:???
>>691
ホスト名をcrypt関数を使って変換した文字列をIDとして使えってことだ
0693nobodyさん2005/05/26(木) 17:33:13ID:QrZX/3rH
広告収入を得て携帯電話の着うたサイトを運営しているのですが
広告にアクセスしないとダウンロードできないプログラム
って配布されているところありませんでしょうか?
広告収入で著作権料金や着うたを製作しておりますので
どうしても曲数を増やすのに広告収入を得る事が必要になります
もしご存知でしたらご教授よろしくお願いいたします。
0694nobodyさん2005/05/26(木) 18:10:45ID:???
業者なら金払って依頼しろ
0695nobodyさん2005/05/26(木) 21:22:45ID:???
つI
0696nobodyさん2005/05/27(金) 00:26:20ID:yljyO92L
超初心者スレで全くレスがつかなかったものでして・・・マルチもうしわけないです。

スミマセン、超初心者で手探りでCGIを改造している者です、どうかどうか以下質問にお答え頂けるとありがてぇです。
今、掲示板のCGIをあれこれ工夫しながら改造しているところなのですが、逆引き不可IPからの書き込みを
拒否できるようにしたいと奮闘中であります……が
逆引き不可のIPを特定できません…
かなり厨房な質問をしているのは重々承知しているのですが、ぐぐっても、あれこれ参考文をみてもコレというものが
みつからず、ここに書き込みした次第であります。

どうか、逆引きIPの特定方法を教えて頂けないでしょうか。
蛇足だとは思いますが、逆引き不可IPについて。
IPアドレスが全て数字で構成されたものです。
よろしくお願いいたします
0697名無しさん@お腹いっぱい2005/05/27(金) 00:45:23ID:???
>>696
REMOTE_HOST のアドレスを元に
サーバが名前を引いてるんだったら、IPアドレスが入ってたら逆引き不可
サーバが引いてないんだったら、(=REMOTE_ADDR)自分で名前引いて
引けなかったら逆引き不可
06986962005/05/27(金) 02:23:10ID:yljyO92L
>697

早速のレスありがとうございます。
CGIの超初心者故、さらなる質問で失礼します。
現在いじっている掲示板CGIではサーバーは名前を引いているようです。
アクセス制限は、個別にIPアドレスやホスト名を指定することで制限をかけることが可能なのですが…

@deny = ("*.anonymizer.com",,
"*.kick.my.ass"
);

上記のように、一個一個指定していかなくてはならん模様です。
取得したホスト情報が全て数字で構成されている、という条件で蹴れるようであれば一番楽かなと
おもい、先の書き込みにあるような質問をさせて頂きました。

>サーバが名前を引いてるんだったら、IPアドレスが入ってたら逆引き不可

これにあるとおり、IPアドレス(数字だけ)ならばという条件文はどのように記述すれば宜しいでしょうか?
基本的な質問ばかりで恐縮ですが、ご教授いただければ幸いです。
0699nobodyさん2005/05/27(金) 04:10:49ID:???
zipファイルにパスワードをかける方法を教えてください
0700nobodyさん2005/05/27(金) 09:03:33ID:???
>>699
http://pc8.2ch.net/test/read.cgi/php/1115281031/159-160
http://pc8.2ch.net/test/read.cgi/php/1012750353/744-745
0701nobodyさん2005/05/27(金) 11:43:28ID:???
>>698
正規表現でチェックしてはどうか
^\d+\.\d+\.\d+\.\d+$ とか
0702nobodyさん2005/05/30(月) 02:22:54ID:cSR7keAp
質問させて下さい。

掲示板の書き込みで、NGワード(http:と、@半角アットと、.半角ドット)を設定したいのですが、
特殊文字の設定がうまくいきません・・・
使用している掲示板はKENTさんのとこのYYボードです。

http:を消すのは↓の部分を改造して、

if ($in{'comment'} eq "") { &error("コメントが入力されていません。"); }

↓で解決できたのですが

if ($in{'comment'} =~ /http:/) { &error(" http: の入力はできません。"); }



@半角アットと、.半角ドットを消すのがうまくいきません・・・

if ($in{'comment'} =~ /@/) { &error(" @ の入力はできません。"); }

↑のようにすると、いちおう@半角アットを検出してくれるのですが、
なぜか「全角スペース」まで検出してエラーを出してしまうのです・・・
@半角アットだけを検出するにはどうしたらいいでしょうか?
ちなみにCGIプログラムは初心者です・・・
0703nobodyさん2005/05/30(月) 03:00:38ID:???
>>693
伝家の宝刀、抜いていい??


  「逝ってよし」


0704nobodyさん2005/05/30(月) 07:40:22ID:???
>>702
@をバックスラッシュ(¥記号)でエスケープしる
¥@
07057022005/05/30(月) 11:48:32ID:???
>>704
レスどうもです。

=~ /\@/ や =~ /(\@)/ に書き換えても、
やっぱり@と「全角スペース」まで検出してしまうとです・・・
CGIでは@は全角スペース扱いされてしまうのでしょうか
それともYYボードの仕様でなってしまうのでしょうか

702に補足で、半角ドット検出は成功しましたです。
0706nobodyさん2005/05/30(月) 13:00:50ID:???
>>705
ShiftJISの全角スペースは\x81\x40
@は\x40だから全角スペースもマッチ
07077022005/05/30(月) 15:10:08ID:???
>>706
なるほど、そうだったのですかー
という事は「@は検出するけど、\x81\x40は検出しないでね」
という式?命令文?を作ればOKなのかな・・・

うう、しかし

頭ではなんとなく分かっていても知識ないのでどうすればわからんとですorz
ご教授を〜
0708nobodyさん2005/05/30(月) 16:30:24ID:???
マルチバイト関数。
0709nobodyさん2005/05/30(月) 19:02:40ID:???
>>707
俺は面倒なんでそーゆー時は全部eucに変換してしまうが・・・
07107022005/05/30(月) 20:01:14ID:CXped1vA
>>709

サラリと言ったその言葉すら意味不明の初心者なのですorz
0711nobodyさん2005/05/30(月) 20:15:57ID:???
>>710
つ【http://www.din.or.jp/~ohzaki/perl.htm】
0712nobodyさん2005/05/30(月) 20:40:40ID:???
>>710
2バイト文字ってのは聞いた事があるよね?
日本語のように使う文字が多い場合には、1byte(2の8乗 = 256)では表しきれないので、
2byte(2の16乗 = 65536)を使って表すようになっている。
次に、どういうbitの並び方の時にどういう文字を表すかを決める(統一する)必要があって、
これがshift-jisやeuc、いわゆる文字コードという事になる。

shift-jisで全角スペースを表すと、1byte目が\x81、2byte目が\x40になる。(\xは16進表記)
また、@は \x40(1byte文字)となる。
困った事に、\x40という部分だけに注目すると、全角スペースの2byte目なのか@の1byte目なのか区別がつかないのだ。

これがeucの場合、全角スペースは\xA1\xA1となり、@は\x40となる。
当然、全角スペースと@が混同されることは無くなるが、
更にはeucの場合\x40が1byte目2byte目に関係無く出現するような文字が無いのだ。
このため、@は @以外の文字と同じbyte表記を持つ事は無いことになる。

eucを使った場合にはこういう風にbyte表記が混同されることが無くなるため、
スクリプトにはeucを使っておけば良い、という話が散見されるわけだ。

話を分かり易くするために、正確では無い書き方をしている部分もあるので、
時間がある時にでも自分で調べてみてちょ。
07137022005/05/30(月) 22:04:28ID:CXped1vA
ええっとYYボードのスクリプトがshift-jisだから、
全角スペースをeucにしなければならないと、
それをするには、$Zspace = '(?:\xA1\xA1)'; # EUC-JPみたいなのを
どこかに書けばいいのかな・・・それとも全部作り直す必要が・・・?

ヽ(;´Д`)ノ あたまがスポンジー!!!!

なんとなく踏み込んではいけない領域の気がしてきたので諦めます
せっかく教えて頂いたのに申し訳ないです。教えがいの無いあほな子ですorz



0714nobodyさん2005/05/30(月) 22:35:57ID:???
>>713
>頭がスポンジ
それ狂牛病
0715nobodyさん2005/05/30(月) 22:41:38ID:???
とりあえずYYボードだったら、jcode.pl使ってる思うので、

$euc = 調べたい文字列
&jcode::convert(\$euc, "euc", "sjis");
$euc =~ /hoehoe/

で変換できる。詳しくは、
http://openlab.jp/Jcode/index-j.html
0716nobodyさん2005/06/01(水) 17:29:55ID:/F0XZ51/
このスレ、sage使われてないみたいなんでsageずに失礼します。

Set-CookieはContent-Typeより前に送信しなければいけないって
噂を聞かされましたけど、GNU cgiccやRuby::CGI-libのソースだと
Content-Typeが先でSet-Cookieが後です。

これを書く順番のルールってホントにあるの?
それともデタラメ?
0717nobodyさん2005/06/01(水) 18:26:12ID:???
>>716
states code(200,404とか)を最初に書くとか、慣習で順番が決まっているものもあるけど、基本的に順不同だよ。
不安なら、HTTP/1.0や HTTP/1.1のRFCを読むと良い。
0718nobodyさん2005/06/02(木) 07:38:21ID:???
>>716
Content-typeの後に意味もわからずに改行2個つけてる人が言った噂ではないだろうか。
■ このスレッドは過去ログ倉庫に格納されています