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

Perl 初心者コーナー Part22

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん03/04/15 10:15ID:???
いらっしゃーい、Perlのコーディングで困ってる人のスレです。

【投稿する際の注意】
質問するときは内容をよく吟味してから投稿してください。

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

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


CGIだけど、なんか質問ある? Part 10
http://pc2.2ch.net/test/read.cgi/php/1048686475/
参考書籍の話題は、【Perl,CGI】参考書籍 第三版
http://pc.2ch.net/test/read.cgi/php/1030209573/
その他の雑多な話題は、【CGIに依存しないPerlの話題一般/Part2】
http://pc.2ch.net/test/read.cgi/php/1030548610/
スクリプトの改造依頼は、【 スクリプト改造工房 PART 6 】
http://pc2.2ch.net/test/read.cgi/php/1047806915/

過去ログやお勧めサイトは >>2-10
0013nobodyさん03/04/15 16:38ID:???
あ・・・なんかファイル名のとこが変ですいません
0014nobodyさん03/04/15 16:40ID:???
携帯端末だとJavaScriptは使えないから、サーバサイドで任意のメッセージを
吐き出すように、なおかつメモリを食い過ぎないようにするしかない。
0015nobodyさん03/04/15 17:34ID:???
>>9-12
Perlの話じゃなくなってるが、
そのスクリプトがSSIで埋め込まれてるとして…。

今時のサーバだとスクリプト自体の処理内容より、
プロセス立ち上げが大きな負荷になる。
だから1ページ表示する度に4つのプロセスが
立ち上がるような事をするより、ページ丸々CGIで
吐くようにした方がサーバには優しいと思う。

http://pc2.2ch.net/test/read.cgi/php/1048686475/
0016nobodyさん03/04/15 17:41ID:???
これを4つずつ使ってりゃ注意も来るかもな。
1つで4つ分の広告をまとめて吐くようにすればいいのに。
0017nobodyさん03/04/15 17:50ID:???
どうもです。まとめてCGIとして作ったほうが良いんですね。
そっちのほうが負荷が大きいものだと思ってました。
調べてやってみたいと思います。ありがとうございましたー。
0018nobodyさん03/04/15 18:25ID:0B+FeJbY
配列について躓いています。
・やりたいこと
 24bitsカラーコードを、無作為に選んで並び替えたい。
・やってみたこと。
 24bits分の配列を用意して、無作為に選び、別の配列へ代入させてみた。
my @src_colors=(0..16777215);
my @dist_colors;
foreach(0..16777215){
push(@dist_colors,splice(@src_colors,int(rand($#src_colors+1)),1));
}
・結果
 Out of memoryとなる。

そもそも64MBytesもある配列を用意している時点でアウトなんだと思うのですが、ほかに良い方法が思い浮かびませんでした。
(外部ファイルを使って同じ方法を。と思ってみたのですが、こちらも「重複するカラーコードを排除する」という点で同じような配列を使ったためにOut of memoryとなってしまいました。)
そこで、別の方法論がありましたらご教授いただけるとありがたいです。
それではよろしくおねがいいたします。
0019Perl3級03/04/15 18:40ID:bx4RfdeG
一週間がんばりましたが、どうしてもわかりません。
最後の望みを託してエキスパートのみなさんにすがります。宜しくお願い
致します。

#/usr/local/bin/perl
@i = ( "AAA 100 80",
"BBB 500 500",
"AAA 400 420");

foreach $line (@i) {
split(/\s/, $line);
$key = $_[0];
$hash{$key} = $line;
print "$key $hash{$key}\n";
}

これを実行すると、

AAA => AAA 100 80
BBB => BBB 500 500
AAA => AAA 400 420

となります。あとは、AAA,BBBごとに右の数字を足していきたいのです。
簡単に言えば集計プログラムです。最終的に

AAA => AAA 500 500
BBB => BBB 500 500

となれば成功です。どんなにやってもわかりません。頭も痛くなって
きました。ぼくに秘伝を伝授して下さい。どうか、お願いします。
0020nobodyさん03/04/15 18:43ID:???
>>18
並べ替えできたとして何に利用するの?
九九の範囲内で足りるものを、それ以上の桁数で答を
用意しておいても無駄なだけでしょ
用途に対する根本的な設計がうまくないのでは?
0021通行人さん@無名タレント03/04/15 19:14ID:???
my @i = ( "AAA 100 80",
"BBB 500 500",
"AAA 400 420",
"AAA 120 150",
"BBB 30 420"
);

my %hash = ();
foreach my $line (@i) {
my @temp = split(/\s/, $line);
my $key = shift @temp;
if( exists $hash{ $key }){
$hash{ $key }->[ 0 ] += $temp[ 0 ];
$hash{ $key }->[ 1 ] += $temp[ 1 ];
} else {
$hash{$key} = [ @temp ];
}
}
foreach my $key(keys %hash){
print $key, $hash{$key}->[ 0 ],$hash{$key}->[ 1 ], "\n";
}
0022nobodyさん03/04/15 19:23ID:???
この場合、exists は definedにするべき。undefに加算することを避けていることをはっきりさせる。
それから、my @tempで新しいメモリに置いてるのに、[ @temp ]は勿体ない。
0023nobodyさん03/04/15 19:26ID:???
undefをdereference
00242103/04/15 19:28ID:???
>>22
そうですね。
ありがとうございます。
0025nobodyさん03/04/15 19:44ID:???
>>21-22
この場合は暗黙の内に生成しちまっても問題ないと思うんだけど
駄目なんでしょうか。

@record = ("AAA 100 80", "BBB 500 500", "AAA 400 420");

my %sum;
foreach (@record) {
my($key, @value) = split /\s/;
for (my $i = 0; $i <= $#value; $i++) {
$sum{$key}->[$i] += $value[$i];
}
}
foreach my $key (sort keys %sum) {
print"$key => $key @{$sum{$key}}\n";
}

つか >>19 のコードは興味深いな。一つ勉強になったよ。
0026nobodyさん03/04/15 21:17ID:???
use strictの時は、undefのreferenceがランタイムエラーになる。
00272503/04/15 22:13ID:???
>>26
上のコードに use strict つけて @record を my 宣言して
走らせたけど、エラーになりませんでしたよ。
5.005_03 と 5.8.0 で確認。

リストリファレンスでないものを無理矢理リストとして
デリファレンスしたらエラーになるけど、代入時は
勝手にやってくれますよね?

use strict;
my $foo;
print @{$foo}; # ランタイムエラー

$foo->[2]{'bar'}[10] = 'baz';
print join '/', ($foo, $foo->[3], $foo->[2]{'bar'}, $foo->[2]{'bar'}[10]); # OK
0028nobodyさん03/04/15 22:31ID:???
あ。。。+=は代入扱いだな。鬱
0029nobodyさん03/04/15 23:20ID:???
質問させてください。
例えば、あいうえおかきくけこ という文章の時、5文字目までを残して、
あいうえお までを表示させて最後に・・・を付けるというような形です。

あいうえおかきくけこ

あいうえお・・・

みたいにする方法を教えてください。
0030nobodyさん03/04/15 23:26ID:???
>29
どのような文字が入っているかによって変わる。
全て2バイト文字だと断言できるならsubstrでもできる。
1バイト文字と2バイト文字が混ざるなら、文字コードを読んで判断させなければならない。
0031nobodyさん03/04/15 23:38ID:???
>>30
早速お返事をありがとうございます。
ホームページの名前なので英語だったり日本語だったりしますので
下のにあたりますでしょうか?できればその方法を教えてください。
0032nobodyさん03/04/15 23:43ID:???
>>31
この辺参考にしる。
http://www.din.or.jp/~ohzaki/perl.htm#JP_Split
0033nobodyさん03/04/16 00:01ID:???
>>32
ありがとうございます。
URLのホームページを拝見したのですが難解でどこの事なのか分かりませんでした。
リンク集のログデータをトップページに表示させるためのデータをまとめるスクリプトを書いています。
どなたか方法を教えてください。お願いします。
0034nobodyさん03/04/16 00:13ID:???
>33
クリックせずにコピペしてみろ。
ちゃんとどこを見るかまで教えてくれている。
それ以上は自分で考えれ。
0035nobodyさん03/04/16 00:16ID:???
基本的にこのスレは「自分で解決しようと努力してるけどできない」人には優しいが、
「最初から全部教えてもらおうとしている」人には冷たい。
Perlのサポートセンターじゃないんだから。
回答側もボランティアだ。

よぉく>>1を読んでくれ。
>一緒に勉強しましょう。
勉強するのは教わる事じゃない。
考える事だ。
0036はしのえみ好きー03/04/16 00:26ID:???
>基本的にこのスレは「自分で解決しようと努力してるけどできない」人には優しいが、
>「最初から全部教えてもらおうとしている」人には冷たい。
このスレに限ったことじゃないよね。
後者に優しいのは宿題任せろスレぐらいだ。
0037nobodyさん03/04/16 00:27ID:???
コピペしようとはもうとう考えておりませんので、
substrの方法はわかりましたが、
1バイト文字と2バイト文字が混ざると駄目なようで。
この方法をどうか教えてください。
0038はしのえみ好きー03/04/16 00:27ID:???
何か反論みたいになってしまったがそうではなくて、>>35には概ね同意。
0039nobodyさん03/04/16 00:28ID:g3p2EJXO
>>36
ウソだけど、はしのえみのヌード持ってるぞ
0040はしのえみ好きー03/04/16 00:30ID:???
>>39
マジっすか!?
0041nobodyさん03/04/16 00:35ID:???
>37
>32のリンク先になにがあった?
文字単位に分割できれば、そこで文字数を数える事はできるよな?
そうしたら、最初5文字だけ残して、その後ろを消して置き換え。
あとは自分でやってくれ。
0042nobodyさん03/04/16 00:51ID:???
ありがとうございます。
その部分は既にsubstrを教えて頂いたのできてます。
00433903/04/16 00:54ID:g3p2EJXO
>>40
最初にウソだけどって書いたのに・・・・・・
ウンコーーーーーー
0044Perl3級03/04/16 00:55ID:Zmk9zNa+
21-27
みなさん。ありがとうございました。
お陰さまで無事プログラムか完成しました(涙
ありがとう、ほんとうにありがとう(涙
0045nobodyさん03/04/16 00:56ID:???
ここってヌードやウンコで盛り上がれば教えてくれますか?
0046nobodyさん03/04/16 01:09ID:???
$title = "あいうえおかきくけこ";
$title = mb_strimwidth("$title",0,10,"...");
0047nobodyさん03/04/16 01:19ID:???
>>46
スマンそれ違う。
0048nobodyさん03/04/16 01:44ID:???
>>47
これは何でしょうか?試してみましたが動きませんでした。

現状はsubstrで・・・に変換する事が出来ましたが、
substrが、1バイトづつで指定していますので、
1バイト文字と2バイト文字の組合せでは場合によって、
文字化けが発生しまいます。先ほどホームページを教えて頂いたのですが、
今の私の力では読み取る力がありませんでした。
思考錯誤してみます。お騒がせして申し訳ありませんでした。
0049はしのえみ好きー03/04/16 01:55ID:???
>>43
>>40のメール欄読んでよ・・・・・・
○ンコーーーーー
0050nobodyさん03/04/16 02:26ID:+e/kztES
自己解決しました。

>>20
例えが良く判りませんでした。すみません。
005150=1803/04/16 02:27ID:???
0052chuu03/04/16 11:42ID:???
ユーザ名からホームディレクトリが存在するかをチェック知りたくて、
$username = "hoge";
if (-e "~$username") {・・・
とやっても、hogeというユーザが存在するにもかかわらずfalseになります。
チルダを使わずフルパスで指定すれば当然うまくいくわけですが、
ユーザ名からホームへのフルパスを得るようなことはできますか?
/etc/passwdを開いて検索しなければならないのでしょうか・・・
よろしくお願いいたします。
0053はしのえみ好きー03/04/16 11:45ID:???
~(チルダ)を展開するのはシェルのお仕事。Perlは知らんぷりっ
/home/$username でイーンジャネーノ?
0054はしのえみ好きー03/04/16 11:48ID:???
もしくはgrep $username /etc/passwd。あとは野となれ山となれ
0055chuu03/04/16 12:04ID:???
>>53様、すばやい回答ありがとうございます。
変な環境でして、/home/*で統一されているわけではないんです。
passwdファイル検索の方向で試してみます。
ありがとうございました。
0056 ◆hMJAPH9PWA 03/04/16 12:25ID:???
>>55
/etc/passwd用組み込み関数があるよ。
perldoc -f getpwent
perldoc User::pwent
およびgetpwent(3) man pageを参照のこと。
0057はしのえみ好きー03/04/16 12:34ID:???
>>56 そんなのがあったんだ。>>52じゃないがアリガd
0058nobodyさん03/04/16 13:20ID:fv/dMt9b
HTTP-Liteを入れようと思い、コマンドプロンプトで
ppm>install HTTP-Lite と打ち込んだのですが、

Error installing package 'HTTP-Lite': Could not locate a PPM binary of 'HTTP-Lit
e' for this platform

となってエラーになってしまいます。
検索はしてみましたが、さっぱり見当違いなものしか検索できませんでした。
どうかどうすればインストールできるか、ご教授お願いします。
0059nobodyさん03/04/16 16:28ID:???
PPM> search HTTP::Lite
Packages available from http://ppm.ActiveState.com/cgibin/PPM/ppmserver.pl?urn:/
PPMServer:
HTTP-Lite [2.1.1] Lightweight HTTP implementation
PPM>

あるけど
setでパス通ってるか見てみ
0060nobodyさん03/04/16 17:56ID:???
Perl串ってなんですか?
レンタルサーバーに置いて2ch書き込むのに使ってる人いる?
0061nobodyさん03/04/16 19:20ID:???
( ゚д゚)ポカーン
00625803/04/16 19:20ID:???
通ってなかったです、超初歩的ミスですみません^^;
0063nobodyさん03/04/16 22:53ID:NR7Y4aEI
>>49
そういういじめか・・・

でもまじでヌードは見たいがな、俺も。
あいつは何かむらっとくるもんがあるあいつはもう30なのに・・・・・
写真集出せ
0064nobodyさん03/04/17 00:24ID:qoz0Pxr2
Perlで作ったプログラムをcgiとして使うときって通常ファイルの拡張子は.plで使うのですか?
それとも何かコンパイラみたいので.cgiに変えるとかなんですか?
お願いします教えてください。

あとそのうち作ったcgiを配布してみたいと考えているのですが、そのときも拡張子が.cgiのほうが良いのですか?
0065nobodyさん03/04/17 00:33ID:???
.cgiじゃないと動かんだろ?
.plで動けば.plでいいじゃない?
0066はしのえみ好きー03/04/17 00:34ID:???
>>63
漏れ年上でかつ可愛い人が好き。はしのえみは理想だな。

>>64
スレ違い。ここははしのえみについて語るスレです。

Webサーバの設定で、拡張子".cgi"というファイルのリクエストを受けるとそれ用に処理するようになってる。
だから、設定によっては".pl"でもOKな時もある。
どっちにしろ".cgi"にしておけば安心。ファイル名を変えるだけでOKよ。
0067nobodyさん03/04/17 00:36ID:???
やれやれ・・・
0068nobodyさん03/04/17 00:38ID:???
スレ違い。ここははしのえみについて語るスレです。
0069nobodyさん03/04/17 00:55ID:???
漏れは坂下千里子が好きかも。
型グロ部ってイマイチ何かよくわかりません。
とあるCGIをDLして、それを解読中なのだが、
たとえば、
*option_pnt = $_[0];
*config_pnt = $_[1];
$ctl_sock = $config_pnt{"ctl_sock"};
$before = $option_pnt{"before"};
$after = $option_pnt{"after" };
$path = $option_pnt{"path" };
&jcode'convert(*before,"sjis");
&jcode'convert(*after ,"sjis");
&jcode'convert(*path ,"sjis");
のような部分があるのですが、
漏れ敵には、文脈に応じて柔軟に型を識別してくれるもの
くらいの認識なのですが、いまいちシックリきません。
どんなときに型グロ部使うと激ウマーなのか、どなたかご教授ください。
0070nobodyさん03/04/17 00:59ID:qoz0Pxr2
そうか、ただ拡張子を変えただけか。
いやてっきりPerlプログラムをコンパイルしているのかと思っていたから。
サンクスみんな
ついでにいうと63=64=俺や。
どうでもいいがな。

オマエがすれ違いやで。
0071nobodyさん03/04/17 01:02ID:???
配布するときは、圧縮してるサイトが多いね。lzh,zip,tar.gz
圧縮しないときはtxtにしてるところが多いね。
cgiだと多くの場合、実行されちゃうから。
0072nobodyさん03/04/17 01:07ID:???
それで、Perlのコーディングの話はどこに?
CGIの話はCGIスレに。
0073nobodyさん03/04/17 01:07ID:qoz0Pxr2
>>71
そうなんすか。ありがとう
助かった。俺の勘違いだったらしいすべてがね。
まじありがとうさようなら

0074nobodyさん03/04/17 01:12ID:???
>>73
配布なんていう不相応の夢もかなり勘違いだと(ry
0075nobodyさん03/04/17 03:15ID:???
>>69
型グロブを理解したかったらシンボルテーブルの勉強。
http://www.kt.rim.or.jp/~kbk/perl5.doc/perlmod.html
標準モジュールの Symbol.pm や、IO::なんちゃらってのも
参考になるよ。

まぁ Perl4 と違い、リファレンスが使える Perl5 では
型グロブを使っておいしい場面って減った。強いて挙げるなら
サブルーチンにデカいデータを渡す時ぐらいかな。

my %orig_hash = qw(...); # デカいハッシュ
my @orig_array = qw(...); # デカいリスト
hoge(\%orig_hash, \@orig_array);

sub hoge {
  no strict 'vars';
  local(*hash, *array) = @_;
  # %orig_hash を直接書き換える
  # デリファレンスしなくて済むので高速
  $hash{$_} = uc $hash{$_} for @array;
}
0076nobodyさん03/04/17 06:45ID:???
たまーに予約語の先頭につける程度かなあ。

print "Content-type: text/html\n\n" if(select == *STDOUT);
0077nobodyさん 03/04/17 07:29ID:???
定数で使うとかあるっぽい

*PI = \3.14159265358979;

最適化出来ないらしいんだけどね
0078山崎渉03/04/17 11:58ID:???
(^^)
0079nobodyさん03/04/17 12:03ID:???
>>78
0080nobodyさん03/04/17 18:22ID:???
よく使われるサブルーチンを
.plファイルで中身をpackage abc;として、&abc::abc; と呼び込むのと
.cgiにして require'./aaa.cgi';して &abc; と呼び込むのでは
どちらがよいのでしょうか?
何か違いがあるのでしょうか?
0081nobodyさん03/04/17 18:43ID:???
>>80
requireするなら、拡張子は関係ないが……
.plファイルだって、packageせずmainパッケージに読み込めば後者のように使えるし。
0082nobodyさん03/04/18 00:39ID:fDlmNlyH
>>75
ありがとう。勉強してみます。
00832903/04/18 00:58ID:???
>>46>>47さん、今ごろですがありがとうございました。
動かない動かないと色々試行錯誤してやっと意味がわかりました。
PHPで書いたらあっさり出来ました。
他にも色々便利なコマンドが山ほどあるので使って行こうと思います。
0084nobodyさん03/04/18 11:25ID:5L+C97mW
質問なんですが、例えば、

$x ~= s/abc(.*)xyz/`hoge $1`/g

の`hoge $1` って動的に展開してくれるんですか?
それとも、はじめに展開してそれっきりですか?

誰か教えて!!!
0085nobodyさん03/04/18 11:58ID:???
>>84
動的とかはじめとか言ってることわからんのだけど?
00868403/04/18 12:07ID:???
>>85
分かりずらくて御免なさい。
つまり、マッチした時点で、`hoge $1` を展開してくれるのか、
命令文を解釈するときに、`hoge $1` を展開しちゃうのか、どっちかなぁ?
と思って。
00878403/04/18 12:10ID:???
あぁぁあぁ〜〜
~= は、=~ の間違いです。
0088nobodyさん03/04/18 12:19ID:???
>>86
余計にわからん?
マッチしたものを置き換える←これが命令文でしょ。
そもそも、マッチしなきゃ$1は未定義なんだから。
00898403/04/18 12:28ID:???
>マッチしなきゃ$1は未定義なんだから
あ、そうか。

すいません、色々やってみたら、そもそも置換文字列は、コマンド展開されない
んですね。
はぁ〜。面倒になる予感。
0090nobodyさん03/04/18 13:53ID:???
>>84
$x =~ s/abc(.*)xyz/system "hoge",$1/eg;
で、どないだ?
00918403/04/18 15:00ID:???
>>90さん
ありがとう、e の意味調べてみます。
しかし、perl は難しい、、、、
0092nobodyさん03/04/18 15:15ID:???
多分、Perlの関数の仕組みがわかってないんだと思いますが、
PHPのnl2br(改行を<br>に置換)を自作しようとして、

sub nl2br{
my ($letter) = $_[0];
$letter =~ s/\r\n/<br>/g;
$letter =~ s/\r/<br>/g;
$letter =~ s/\n/<br>/g;
return $letter;
}

を作ったのですが、
これだと、

print nl2br($sentence); としても動かず、

$sentence = &nl2br($sentence);
print $sentence;

としないと動きません。これを、前者のようにするには、関数をどうつくればいいのでしょう?

00938403/04/18 15:23ID:???
割り込みごめん。

>>90 さん、ありがとう。
s///ge で、目的が達成できそうです。感謝です。
0094nobodyさん03/04/18 15:27ID:???
>>92
俺、それで動いたけど。
他で変なことやってんじゃないの?
0095nobodyさん03/04/18 15:46ID:???
>>92
print &nl2br($sentence); だろ
0096nobodyさん03/04/18 17:54ID:???
()があれば&付ける必要は無いと思ったけど
0097nobodyさん03/04/18 19:57ID:???
require './jcode.pl'; して
jcode::convert(\$buffer, 'euc'); とするのと
&jcode'convert(\$buffer, 'euc'); とするのでは
どう違うのでしょうか?
0098nobodyさん03/04/18 20:42ID:???
grepさせるときに、
grep( /^$hoge$/, @hage );
@hageの中に'+1'つー文字列があったとして
$hogeが'+1'つー文字列だと、マッチしません。

$hogeを'1'にしてやればマッチします。
これを変な小細工しないで、文字列としてマッチさせる方法はないでしょうか?
0099nobodyさん03/04/18 21:00ID:???
grep( /^\Q$hoge\E$/, @hage );
で駄目か?
0100nobodyさん03/04/18 21:17ID:???
>>97
Perl4の頃はリファレンスが無かったので型グロブで代用してた。
また、パッケージデリミタには ' が使われていた。サブルーチン
を呼び出す際には & が必ず必要だった。なので

&jcode'convert(*buffer, 'euc');

という書き方をしていた。
Perl5では互換性の為に上記の文法を許容するけど、推奨される
今風の書き方は

jcode::convert(\$buffer, 'euc');

になる。更に言うなら jcode.pl よりは Jcode.pm を、Jcode.pm
よりは Perl 5.8.0 から標準になった Encode モジュールを
使った方がいい。
0101nobodyさん03/04/18 21:22ID:???
>>100
なるほど。
詳しい解説ありがとうございました。
0102nobodyさん03/04/19 01:55ID:???
過去ログ探したら2度と来るな!って書かれてませんでした。
どこかで記憶が変わってしまってました。

激しく鬱だ。。
010310203/04/19 02:00ID:???
誤解してうらんでしまった人へ、
すみませんでした。
010410203/04/19 02:07ID:???
2度と来るなは
http://pc.2ch.net/php/kako/1019/10195/1019561283.html
↑の551番さんが550番さんに書いた事でした。

お騒がせしました。
0105nobodyさん03/04/19 04:07ID:???
>>102-104
┓(´_`)┏
ナニガナンダカサパーリワカラナイ
0106nobodyさん03/04/19 05:26ID:uaYurtrR
http://www.foo.com/index.cgi
にアクセスすると、
http://www.foo.com/cgi-bin/index.cgi
にアクセスした場合と全く同じ表示になるようにしたいのですが、
どうするのが得策なのでしょうか?

(要は、PHPでいうところの fopen("http://www.foo.com/cgi-bin/index.cgi") がやりたい)
0107nobodyさん03/04/19 07:00ID:???
>>106
CGIの話は他のスレでやってください。
010810603/04/19 12:37ID:EJZQKwDz
>>107
あれ、Perlの話のつもりだったんだけど、そーでなかった?
とりあえず他スレ逝ってきます
0109nobodyさん03/04/19 13:06ID:???
>>106
.htaccessとかmod_rewriteスレへ
0110nobodyさん03/04/19 13:16ID:eaFpa2kJ
YAHOO検索で、、、
http://www.google.com/search?q=2%E3%83%81%E3%83%A3%E3%83%B3%E3%83%8D%E3%83%AB&ie=UTF-8&oe=UTF-8
なら、
=〜 tr/+/ /;
=〜 s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
でデコードできるですが、Googleで
http://search.yahoo.co.jp/bin/search?p=2%A5%C1%A5%E3%A5%F3%A5%CD%A5%EB
の場合は、どうすればよいのでしょうか?
どなたかご教授下さいm(_ _)m。
0111nobodyさん03/04/19 13:17ID:???
>106
Perl的に言うなら、index.cgiの中身をhoge.plに移して、各index.cgiから
hoge.plをrequireするとか。
011211003/04/19 13:17ID:eaFpa2kJ
アドレス逆でした、、、
■ このスレッドは過去ログ倉庫に格納されています