トップページ⇒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を見よう。
0002名無しさん@お腹いっぱい01/09/12 13:04ID:???
[過去ログ]
Part1 http://tako.2ch.net/test/read.cgi?bbs=perl&key=957208980
Part2 http://tako.2ch.net/test/read.cgi?bbs=perl&key=971817087
Part3 http://tako.2ch.net/test/read.cgi?bbs=perl&key=979894521
Part4 http://tako.2ch.net/test/read.cgi?bbs=perl&key=984430156
Part5 http://corn.2ch.net/test/read.cgi?bbs=php&key=988728069
Part6 http://corn.2ch.net/test/read.cgi?bbs=php&key=996075607

[ひまぢん氏のミラー]
Part1 http://www.angelfire.com/ak5/2ch-web-program/kako/957208980.html
Part2 http://www.angelfire.com/ak5/2ch-web-program/kako/971817087.html
Part3 http://www.angelfire.com/ak5/2ch-web-program/kako/979894521.html
Part4 http://www.angelfire.com/ak5/2ch-web-program/kako/984430156.html
Part5 http://www.angelfire.com/ak5/2ch-web-program/kako/988728069.html
0003名無しさん@お腹いっぱい01/09/12 13:05ID:???
[総合]
 ・Perl Com: http://www.perl.com/pub/
 ・CPAN.com: http://search.cpan.org/
 ・ActivePerl: http://www.activestate.com/
 ・CGI-ML:http://forest.ne.jp/cgi-ml/
[お薦め]
 ・Perl Recipes: http://www.effectiveperl.com/recipes/
 ・Perlメモ: http://www.din.or.jp/~ohzaki/perl.htm
 ・Randal's WebTechniques columns: http://www.stonehenge.com/merlyn/WebTechniques/
 ・Perlの部屋: http://www.cc.rim.or.jp/~midorin/mad-p/perl/index.html
 ・Perl初心者の部屋:http://www.harukaze.net/~mishima/perl/
 ・Perlリファレンス:http://www.big.or.jp/~mio/ga/pl/plref/pl_ref.htm
 ・Perlのページ:http://homepage1.nifty.com/nomenclator/perl/
[Document&Tutorial]
 ・Perl News: http://www.news.perl.org/
 ・Perl Monks: http://www.perlmonks.org/
 ・PerlMonth - Online Perl Magazine - : http://www.perlmonth.com/index.html
 ・use Perl All The Perl: http://use.perl.org/
 ・Learn Perl - Perl Education: http://www.devdaily.com/perl/edu/index.shtml
 ・Perldoc.com: http://www.perldoc.com/
 ・Using Perl5 in Web: http://docs.rinet.ru/Using_Perl5_in_Web/
 ・Rex Swain's Home Page: http://www.rexswain.com/
 ・Robert's Perl Tutorial: http://www.netcat.co.uk/rob/perl/win32perltut.html
 ・Perl Tuts: http://savage.net.au/Perl-tutorials.html
 ・Beginning Perl Tutorials: http://www.pageresource.com/cgirec/index2.htm
 ・jcode.pl の私的な解説書: http://www.mikeneko.ne.jp/~lab/kcode/jcode.html
 ・Perl for Newbie: http://www.harukaze.net/~mishima/perl/index.html
 ・Logical Choice Software, Home Page: http://www.logsoft.com/perltips/
 ・Perlfect Solutions: http://perlfect.com/
 ・The Perl Archive : http://www.perlarchive.com/
0004名無しさん@お腹いっぱい01/09/12 13:05ID:???
[Module]
 ・Perl Module Reference: http://www.bekknet.ad.jp/~bero/docj/module/
 ・PPMPackages: http://www.activestate.com/PPMPackages/
 ・河馬屋二千年堂's Page: http://member.nifty.ne.jp/hippo2000/index.htm
[Security]
 ・安全なプログラミングのためのガイドライン:http://www.FreeBSD.org/ja/security/#spg
 ・Perl security:http://www.perldoc.com/perl5.6/pod/perlsec.html
 ・CGI and Security http://www.japu.org/cgi/security/
 ・Perl security和訳:http://www.kt.rim.or.jp/%7ekbk/perl5.005/perlsec.html
 ・The Unofficial Web Hack FAQ:http://www.nmrc.org/faqs/www/
 ・How to Write Secure Code:http://www.shmoo.com/securecode/
 ・Safe CGI Programming :http://www.improving.org/paulp/cgi-security/safe-cgi.txt
0005名無しさん@お腹いっぱい01/09/12 13:09ID:???
文面は伝統だったのかな?・・ 漏れのBOOKMARKも適当に足しました。
0006名無しさん@お腹いっぱい。01/09/12 13:26ID:qAAI57Mk
オツカレー

・Linuxの日本語マニュアル
http://www.linux.or.jp/JM/
sendmailとかgzipとかのマニュアルも読める。
0007名無しさん@お腹いっぱい。01/09/12 14:10ID:???
>>1
ゴクロウサマ
               
・FreeBSDの日本語マニュアル
http://www.jp.freebsd.org/man-jp/
0008ひきこもりたいっ01/09/12 14:26ID:???
前スレ930です、向こうに書こうとしたら誘導されちゃった ^^
931さん932さんどうもです。
取り合えず連装配列が簡単そうなので、これでやってみる事に
しました。
パッケージも使ってみようと思います、ありがとう
0009名無しさん@お腹いっぱい。01/09/12 16:35ID:KyL5/mNU
新しくなったのでもう一度

TwnLounge Faith editionというスクリプトにクッキーを発行させたくて
悪戦苦闘しています。KENTさんのスクリプトのクッキー発行・取得の部分をとってやって見たのですが
うまくいきません。どなたか教えていただけるとありがたいです。

http://www.hpfree.com/giants/lng.txt
↑実際使っているサーバーはCGI可です。

GETできてません。
SETはできてるのかわかりません・・・

よろしくお願いします。
0010名無しさん@お腹いっぱい。01/09/12 17:15ID:???
>SETはできてるのかわかりません・・・
こういう事言われるとどこから説明していいか解らんのだが。。
良く見てないが、%in はクライアントのクッキーの値でわ
それをSetしても初回訪問者の %in は常に空だから永遠に発行出来ないと
セットするのは %FORM では無いのか
何故、printの手前で手動で値を代入したりしないのか
もしperlはどうでも良いからクッキーだけ喰わせたいと言うなら
改造スレッドの方が答えが得られると思うがどうか
001110 01/09/12 17:18ID:???
何かキツイ言い方かな、多分新規発言モードとレスモードがあるんだろ
からまずは新規発言モードにFORMの内容セットしてみれ>>9
0012名無しさん@お腹いっぱい。01/09/12 18:27ID:???
見てみたけど%in ($in{...}) って何?突然現れてるけど。
フォームの受け取りは %FORM だろ?1083行辺りのサブルーチンreadParamを見れ。
$in{...}を全部$FORM{...}に。


1192行からの

$c_name = $ck{'NAME'};
$c_email = $ck{'EMAIL'};
$c_hpage = $ck{'HPAGE'};

でクッキーをセットした時のキーを使ってない。

name\:$FORM{'NAME'}\,email\:$FORM{'EMAIL'}\,url\:$FORM{'HPAGE'}

でやったんだから nameとemailとurlだろ。


あとURLの入力フォームはデフォルトでhttp://が入ってるから、
クッキーをセットする前に$FORM{"HPAGE"}からhttp://を取れ。

set_cookieサブルーチン内で

$FORM{"HPAGE"} =~s/http:\/\///;


何も考えんでコピーしても動くはず無いし、進歩もしないぞ。


つかKENTのスクリプトってcookieのエンコードしてねぇの?
ダメダメじゃん。
0013名無しさん@お腹いっぱい。01/09/12 18:35ID:fdeTSY12
> まずは新規発言モードにFORMの内容セットしてみれ

言葉が理解できません・・・
簡単に言うとどういうことですか?

未熟者で本当にすいません。
0014つーか01/09/12 18:50ID:???
無茶くちゃだってば、
デリミタがGETとSETで違う
getとsetで使ってる名前が違う
全体に変数名が無茶苦茶
: 使いたいならエスケープすれ
getとset違うスクリプトから持ってきてんのか?
もう何が何か解らん
上手く行ってもこのままじゃ日本語は使えない
0015名無しさん@お腹いっぱい。01/09/12 19:18ID:???
>>13
簡単に言う。

コピペで済まそうとするな。少しは勉強しろ。
0016名無しさん@お腹いっぱい。01/09/12 21:19ID:???
てゆーか>>12ので良いべ?
0017名無しさん@お腹いっぱい。01/09/12 21:49ID:SnaNq2/g
>>12 やってみましたがだめでした
http://www.hpfree.com/giants/lng.txt

> getとset違うスクリプトから持ってきてんのか?
同じスクリプトからですけど・・・

> コピペで済まそうとするな。少しは勉強しろ。
ごもっともだと思います。

今回の事が解決すれば改めて勉強をしようと思いますのでよろしくお願いします。
0018名無しさん@お腹いっぱい。01/09/12 22:03ID:???
>>>12 やってみましたがだめでした
>http://www.hpfree.com/giants/lng.txt

やってねーじゃねーか。

|1192行からの
|
|$c_name = $ck{'NAME'};
|$c_email = $ck{'EMAIL'};
|$c_hpage = $ck{'HPAGE'};
|
|でクッキーをセットした時のキーを使ってない。
|
|name\:$FORM{'NAME'}\,email\:$FORM{'EMAIL'}\,url\:$FORM{'HPAGE'}
|
|でやったんだから nameとemailとurlだろ。

は無視かえ?

ノーミソ使えんなら改造なんかするな。
0019名無しさん@お腹いっぱい。01/09/12 22:11ID:SnaNq2/g
urlをhpageにしたんですけど・・・

大文字じゃないと駄目ですか?
0020名無しさん@お腹いっぱい。01/09/13 03:30ID:???
そもそも
> KENTさんのスクリプトのクッキー発行・取得の部分をとってやって見たのですが
自体がいいアプローチなのか?
0021名無しさん@お腹いっぱい。01/09/13 09:16ID:???
12でも書かれてるが、cookieをエンコードしてない時点で駄目。
;とか入るとおかしくなる。
1つのクッキーに , 区切りでセットしてキーと値を : のに
, と : が値に入る可能性を考慮していないのも駄目。

IEからJScriptで取る場合は日本語がエンコードされてると
正常に取れないけど。(IE 5で検証)
だから2ちゃんはエンコードしてない。
そういう事情は無いのにエンコードしない。
阿呆としか思えない屑スクリプト。
00222101/09/13 09:20ID:???
日本語が変だ。

>1つのクッキーに , 区切りでセットしてキーと値を : のに
>, と : が値に入る可能性を考慮していないのも駄目。

キーと値を : で区切り、それを , で連結しているのに、
, と : が値に入る可能性を考慮していないのも駄目。

に訂正。
0023名無しさん@お腹いっぱい。01/09/13 16:27ID:558g6.Uc
それじゃ、改造しなおそうかと思ってきたのですが

どこで配布されているCGIのものが移しやすいのでしょうか?

もしくわ打開策を教えていただけるとうれしいのですが・・・
0024名無しさん@いつも空腹01/09/13 16:39ID:qZrCzOSM
データソートの質問です

【ソース】
------------------------------------------------------------
#ファイル読み込み
open(IN,"$datafile");
@lines = <IN>;
close(IN);

#ソートしてから重複データを削除する
@lines = sort { $a cmp $b } grep ( !$count{$_}++, @lines );

#書き込み更新
open(OUT,">$datafile");
print OUT @lines;
close(OUT);
------------------------------------------------------------

データ形式は
63,父A,30,母A,27,息子A,5,娘A,1
158,父B,55,母B,52,息子B,27,娘B,24
:
:
[家族の合計年齢],[名前],[年齢]・・・・
というcsvファイルなのですが昇順ソートすると
158→63の順になってしまい私の希望するソートができません

3桁の数字[158]よりも2桁の数字[63]を先に並べるにはどうしたらよいでしょうか?
0025名無しさん@お腹いっぱい。01/09/13 17:01ID:???
$a cmp $b

  ↓

$a <=> $b
0026名無しさん@お腹いっぱい。01/09/13 18:27ID:???
質問です。いま、ファイルに入力されている数字を多い順からn個抜き出して表示するプログラムを作ろうと思うのですが、
どうすればよいのでしょうか?
ちなみにデータファイル形式は、こんな感じです。
1,5,3,8,4,6
1,6,4,9,7,8
1,3,2,4,6,8

ヒントでも良いのでお願いします。
00271901/09/13 18:40ID:558g6.Uc
なんとか自分で解決しました。

みなさんありがとうございました。
0028名無しさん@お腹いっぱい。01/09/13 18:47ID:SoliGA0M
>>26
ハッシュ、ソート使う
0029名無しさん@お腹いっぱい。01/09/13 18:54ID:???
>>26
$n=5として、
9, 8, 8, 8, 7 か
9, 8, 7, 6, 5 のどっち?
0030名無しさん@いつも空腹(24)01/09/13 19:34ID:???
>25
なるほど、解決しました
ありがとう
00312601/09/13 21:12ID:???
>>29
9,8,7,6,5の方でお願いします。
0032聖可01/09/13 21:22ID:t/B28ZsY
聖可
0033名無しさん@お腹いっぱい。01/09/13 23:06ID:???
>>26
こんな感じ?

my $N = 5; #表示する最大数設定

#カウントする
my %count;
while(<DATA>){
foreach my $number(split /,/){
$number += 0;#数値化
$count{ $number}++;
}
}

#値でキーをソート
my @keys = keys %count;
@keys = sort {$count{$b} <=> $count {$a}} @keys;

#表示
my $junni = 1;
printf "%7s %7s\n",'number', 'count';
printf "%s\n", '='x20;

foreach (@keys){
printf "%7s %7s\n",$_, $count{$_};
$junni++;
$junni > $N and last;
}

__DATA__
1,5,3,8,4,6
1,6,4,9,7,8
1,3,2,4,6,8
0034名無しさん@お腹いっぱい。01/09/13 23:47ID:???
$n = 5;
undef $/;
my %tmp;
my @big_n = (sort { $b <=> $a } grep { ! $tmp{$_}++ } split /[,\n\s]+/, <DATA> )[0..$n-1];
print join ', ',@big_n;
00353401/09/13 23:49ID:???
あ、間違った。全然意味が違うね
00363401/09/13 23:58ID:???
やけくそで一文。真似しちゃダメな例。

my $n = 5;
my %tmp;
print map { "$_ => $tmp{$_} times\n" } (sort { $tmp{$b} <=> $tmp{$a} } grep { ! $tmp{$_}++ } split /[,\n\s]+/, <DATA> )[0..$n-1];
0037名無しさん@お腹いっぱい。01/09/14 01:38ID:AP7G9ZdU
テキスト中にあるタグを分解するスクリプトを作っています。
<xxx attribute="value">
というタグを
$tag->{xxx}->{attribute} = value;
という感じに変えたいと思っています。

$text = q|<img src="../pen.gif" alt="This is a pen." width=10 height=20><br>
<font size=3 color=#ff0000 face="Arial" style="text-decoration: overline underline;">あああ</font>|;

@tags = map{ m/<(.+?)>/g } $text;

for(@tags) {
@array = split / /;
$xxx = shift @array;
for (@array) {
/([^=]+?)=["']?([^"']*)["']?/i;
$tag->{$xxx}->{$1} = $2
}
}

print <<"_EOF_";
$tag->{img}->{src}  (実際の出力結果:../pen.gif)
$tag->{img}->{alt}  (This)←ここで値が切れてる
$tag->{img}->{width} (10)
$tag->{img}->{height} (20)
$tag->{font}->{size} (3)
$tag->{font}->{color} (#ff0000)
$tag->{font}->{face} (Arial)
$tag->{font}->{style} (text-decoration:)←ここで値が切れてる
_EOF_

これだと、"This is a pen."など半角スペースを含んだ時に期待通りに動いてくれません。
何か上手い方法はないでしょうか?
0038名無しさん@お腹いっぱい。01/09/14 20:58ID:???
>>37
$_ = q<font size=3 color=#ff0000 face="Arial" style="text-decoration: overline underline>;

s/"//g;
s/(.*?)([\w\d-]+)=/$1,$2,/g;
my @str = split /,/;

#前後の空白削除
foreach(@str){
s/^\s+//;
s/\s+$//;
}

#display
print shift @str;
while(@str){
my $attribute = shift @str;
my $value = shift @str;
printf " %-15s: %s\n",$attribute,$value;
}
0039名無しさん@お腹いっぱい。01/09/14 23:06ID:???
chmod が出来ません。
ユーザから任意の値を受け取って 666 なら
$mode = sprintf ("%04d",$mode);
chmod ("$mode","$file");
というようにしてるのですが、時々謎の(110とか)値になってしまうのですが。。

chmod (0777,"./foo/boo"); なら大丈夫なんです
手前で適当にprintしてみても 、$mode  0777 、 $file ./foo/boo
みたいにちゃんと値は設定されてるんです
evalとか使わないと駄目なんでしょか?
chmod (eval($mode),"$file"); じゃ駄目ですし
0040名無しさん@お腹いっぱい。01/09/14 23:28ID:???
chmod ("$mode","$file");  ←$mode がいけないみたい
777で411になります  -_-..
00413701/09/15 00:35ID:VWrSopAU
>>38
ありがとうございました!
空白の扱いが非常に参考になります。
とても助かりました。
0042名無しさん@お腹いっぱい。01/09/15 00:48ID:???
>>39
umask(000);
0043名無しさん@お腹いっぱい。01/09/15 01:01ID:???
>>42
ありがとう、でもこの場合どういう風に使えばよいのでしょうか?
どうも$modeの中の値が10進表記と解釈されて0777(DEC)=>1411(OCT)
で411になっている様です
sprintf とか oct を使えば良いのでしょうか
0044名無しさん@お腹いっぱい。01/09/15 01:16ID:???
うまく逝きました。。
$mode = "777";
$mode = sprintf ("%04d",$mode);
$modeoct = oct($mode);
chmod ("$modeoct","$file");
でも何故かが解らないです。。
8進数の10進表記??? 謎。。。
0045名無しさん@お腹いっぱい。01/09/15 01:48ID:???
>>44
まんま、
perldoc -f chmod
0046名無しさん@お腹いっぱい。01/09/15 01:59ID:???
>>45
ありがとう、
$mode = '0644'; chmod oct($mode), 'foo';
だと文字になっちゃうからヤバイよと言う事かな。。
"'0644'"は駄目なんですね、難しいです。。
perldoc知らなかったです、勉強になります、ありがとうです>>45
0047名無しさん@お腹いっぱい。01/09/15 11:59ID:X3yJVM3Y
単発スレで怒られました、申し訳ないです。
自分でも頑張って探してみますが、質問します。

他のコンポーネントを使わずに、メールサーバを割り出す方法はどうすればいいのでしょうか?
例えば、[email protected]の場合、メールサーバはhoge.comだったり、mail.hoge.comだったり、
MXによって変わってきますよね?その場合はどう処理すればよいのでしょうか?
0048名無しさん@お腹いっぱい。01/09/15 13:09ID:???
Net::DNS で MX みる。
tu-kahokanokonnpo-nenntottenani
0049名無しさん@お腹いっぱい。01/09/15 13:10ID:???
ただの変換ミスさね。
0050名無しさん@お腹いっぱい。01/09/15 13:49ID:X3yJVM3Y
>>48
>他のコンポーネントを使わずに、メールサーバを割り出す方法はどうすればいいのでしょうか?
なので、Net::DNSは使えないです、他の方法は無いでしょうか?
0051名無しさん@お腹いっぱい。01/09/15 13:50ID:???
じゃあ、Net::DNSがやってることをそのままやればいい。
ソースみれ。
0052名無しさん@お腹いっぱい。01/09/15 14:02ID:???
>>51
わかりました、そーします
0053JAPU@会社作ったにょ01/09/15 15:29ID:???
素直に nslookup 呼び出す作戦とか。

#! /usr/local/bin/perl -wT

$addr = shift || '[email protected]';
$addr =~ /@([a-zA-Z0-9.-]*)/;
$domain = $1;

$ENV{PATH} = "/bin:/sbin:/usr/bin:/usr/sbin";

print "MX for $domain:\n";

@mx = (sort { $a->[1] <=> $b->[1] }
map { /preference = (\d+), mail exchanger = (.*)/; [$2, $1] }
grep /mail exchanger =/, `nslookup -type=MX $domain`);

print "$_->[0] (preference $_->[1])\n" foreach @mx;

__END__
0054名無しさん@お腹いっぱい。01/09/15 16:15ID:???
>>53
nslookupを呼び出すのは禁止なんですよね。
困った困った。
0055名無しさん@お腹いっぱい。01/09/16 04:15ID:D8MO0CAo
aa
0056名無しさん@お腹いっぱい。01/09/16 04:24ID:D8MO0CAo
-wTスイッチとか use strictは、もしかしてコマンドラインじゃないと意味無しですか?
HTTPD立ち上げてブラウザからhttp://127.0.0.1/で掲示板とか作ってるんですが・・。

各所で-wT使え strict使えとか言われてるのに使えなくて困っております。
0057名無しさん@お腹いっぱい。01/09/16 05:14ID:???
1 にも書いてあると思うんだが, もうちょっと「使えなくて」をちゃんと説明してくれ
0058あぼーんNGNG
あぼーん
0059 ◆PerlPiVg 01/09/16 11:57ID:???
>>56
多分、-wT は
#!/usr/bin/perl -wT
がやりたいんだと思われ。

で、use strict の使い方と意味知ってますか。
0060名無しさん@お腹いっぱい。01/09/16 13:02ID:???
>>56
というわけで、perldoc strict かな。

>>59
良いトリップですな。
0061名無しさん@お腹いっぱい。01/09/16 14:08ID:VeBCjLxg
fetchmailというPOPサーバからローカルスプールへメールを
取り込むプログラムがありますが、同じようにWebベースの
メールをローカルスプールに取り込むperlスクリプトを作りたい
のですが、それを書くのに便利なモジュールとCGIとの会話に
必要な知識が載っている資料(RFCかweb)を知っていたら
教えていただけませんか。
0062名無しさん@お腹いっぱい。01/09/16 15:24ID:???
>>61
そんな都合の良いもんねーよ。

もっと基本からはじめろ。
0063名無しさん@お腹いっぱい。01/09/16 16:15ID:HiUGkhyw
>>62
そうでしたか。結構CPANとかには「そんな都合のいいもの」って
思うようなものもあるので、誰かが作っているかもって思ったの
です。LWPとか使って書くしかないってことですか。

>もっと基本からはじめろ。
車輪の再発明を避けようと、似たようなモジュールがないか探した
だけで、基本に戻れってことですか?
0064名無しさん@お腹いっぱい。01/09/16 16:21ID:???
Webmailなんてサイトによって全然違うんでは?
LWP以上の何を求めてるのかが解りませんが
hotmail.pmみたいなのを探してるのか。。。
0065名無しさん@お腹いっぱい。01/09/16 17:06ID:yvDq7DHw
>>64
たしかに違いますが、大手のinfoseek, exciteくらいなら使っている
人も多いし、webメールが面倒って思って作っているひとがいるかも
って思ったので^

>LWP以上の何を求めてるのかが解りませんが
各WEBの違いを吸収してくれるモジュールがあれば…ってことです。

>hotmail.pmみたいなのを探してるのか。。。
それってあるのですか? CPANとgoogleで検索かけても見つけ
られませんでした。
0066名無しさん@お腹いっぱい。01/09/16 17:40ID:???
だから無いってば、大体本家の仕様がかわる度に(以下略
そもそも世界中に一体何千のサービスがあって(以下略
0067名無しさん@お腹いっぱい。01/09/16 17:45ID:MGixgscI
>>66
了解。
0068名無しさん@お腹いっぱい。01/09/16 18:46ID:9Q.bsKq2
ttp://www.f2s.comのフリースペースに
ttp://www4.tkcity.net/~elmo/accessory/wforum.htmlを設置しようと思い、
「#!/usr/local/bin/perl」のパスを「#!/usr/bin/perl」に変更し
cgi-binとbbsディレクトリのパーミッションは755に変更。
後は以下のように変更しました。
wforum.cgi(755)
wforum.log(644)
wf_admin.cgi(755)
index.cgi(755)
1.html(644)
pastno.dat(644)
index.html(644)
title.gif(644)
jcode.pl(644)
fold.pl(644)
accesslog.log(644)
code.log(644)

ですが、どうしても「500 Internal Server Error」と出てしまい動きません。
たぶんパーミッションが間違ってるのかな?と思いますが
どう変えれば良いのかがわかりません。
誰か教えて下さい、お願いします。
ちなみにFTPソフトは「Fetch3.0.3J2」を使ってます。
0069名無しさん@お腹いっぱい。01/09/16 18:56ID:???
>>68
頑張ってください、と言いたい所だが。
スレ違いです。

CGIだけど、なんか質問ある?part3
http://corn.2ch.net/test/read.cgi?bbs=php&key=988727833&ls=50
0070 01/09/16 20:16ID:???
>>69
つーか、 use CGI::Carp してみたら助かること多いのにね。
0071名無しさん@お腹いっぱい。01/09/16 20:31ID:???
>>68
KCatch.pm使ってエラーメッセージ表示できる。
続きはCGIスレでやってね。
0072名無しさん@お腹いっぱい。01/09/16 20:33ID:???
http://www4.tkcity.net/~elmo/accessory/wforum_readme.txt
00736801/09/16 20:53ID:gRdNqaZI
すみませんでした。。。
0074名無しさん@お腹いっぱい。01/09/16 21:17ID:iOe1OIlA
クッキーの内容によってアクセス拒否を行いたいんですが、
参考になるルーチンなどありますでしょうか。
0075名無しさん@お腹いっぱい。01/09/16 21:25ID:???
 無い、以上。
0076名無しさん@お腹いっぱい。01/09/16 22:30ID:???
ココは厨房の憂さ晴らし場ですか?
0077名無しさん@お腹いっぱい。01/09/16 22:44ID:???
>>70
確かに。
私はKCatchじゃなくてCGI::Carp派です。

書いとくか…
BEGIN {
use CGI::Carp qw(carpout);
open FH, ">> ./error.txt";
carpout(*FH);
}
0078名無しさん@お腹いっぱい。01/09/17 00:52ID:???
クッキーの内容でアクセス拒否って
クッキー切られてたら意味ない気がしたのだが
0079あぼーんNGNG
あぼーん
0080名無しさん@お腹いっぱい。01/09/17 00:59ID:???
内容取れなくても拒否だろ。
0081名無しさん01/09/17 22:02ID:vlnxJJbs
パターンマッチで「ラーメン」など「ー」を検出しようとすると
unmatched [] in regexp at ファイル名が表示されるんですけど
エラーをなくすにはどうしたらよいですか?
0082名無しさん01/09/17 22:06ID:???
「ラ(.*)メン」で解決しました
0083名無しさん@お腹いっぱい。01/09/17 22:14ID:???
頻出ネタですな。
\Q \E
quotemeta
0084名無しさん@お腹いっぱい01/09/17 22:34ID:???
ファイル移動に関する質問です
$a : 移動前のファイル名
$b : 移動先のディレクトリ名
この場合、どんな風に書けばいいのか教えてください
0085名無しさん@お腹いっぱい。01/09/17 22:57ID:???
>84
$c : 移動前のディレクトリ名
rename("$c/$a","$b/$a");
0086名無しさん@お腹いっぱい。01/09/17 23:49ID:IPBfuQws
use File::Copy;
move($a,$b);
0087名無しさん@お腹いっぱい。01/09/18 05:01ID:???
>>84
蛇足ながら。
$a,$bはsort用の特殊変数なので
普通の用途では使わないほうがいい(かもしれない)
00888401/09/18 07:57ID:???
おかげさまで解決しました
0089名無しさん@お腹いっぱい。01/09/18 21:30ID:???
カレントディレクトリ名を取得するのって
どうやってやるんでしょうか?
0090名無しさん@お腹いっぱい。01/09/18 22:23ID:???
>>89
use Cwd;
$dir = cwd();
0091名無しさん@お腹いっぱい。01/09/18 23:07ID:???
>>90
わ。そんな簡単な方法があったのですか。
ありがとうございます。感涙です。
0092名無しさん@お腹いっぱい。01/09/18 23:27ID:s6QOmheA
入力された文字列を80Byte以下に分割したいと思ってます。
(分割結果を個別で携帯メールに送る)

日本語文字列の分割はどうすればいいのでしょう?
substr使って以下のようにすると、1byteコードが入ったところで化けます。

$max_byte = 80;
$offset = 0;
for($i=0;;$i++){
@mailbody[$i] = substr($mailbody,$offset,$max_byte);
$offset +=length(@mailbody[$i]);
if(@mailbody[$i] eq ""){
last;
}
}
よろしくお願いします。
0093名無しさん@お腹いっぱい。01/09/19 00:24ID:R7HmAIag
>>92
正規表現を使う
あと、@じゃなくて$な
0094名無しさん@お腹いっぱい。01/09/19 02:33ID:???
>>92
つーか、日本語は2byte(または3byte)って事知ってるか?

@と$間違うレベルじゃ多分無理だろうな。
0095名無しさん@お腹いっぱい。01/09/19 02:47ID:qAnhwpTs
perl6からは、初心者が@と$と%間違うのは少なくなるだろう。。。。
逆に間違う古参が出てくるだろうが。
0096あぼーんNGNG
あぼーん
0097名無しさん@お腹いっぱい。01/09/19 05:36ID:xKEtyMaE
>>92
93と94の言ってることがわからなければ、たとえばこのへんを参考に。
http://www.din.or.jp/~ohzaki/perl.htm#JP_Split

そのあと>>2-3のリンク先も全部読んでおくといいかも。
2ヶ月もがんばれば全部読めるっすよ。
0098名無しさん@お腹いっぱい。01/09/19 06:33ID:???
ローカルでなが〜いスクリプト動かしたいんですけど
タイムアウトしてサーバーがみつからんです。っていいます。
なんとかしてください。
0099名無しさん@お腹いっぱい。01/09/19 06:42ID:???
>>98
ローカルで?サーバーで、の間違いでしょ?
forkして子プロセスにやらせるとか
やること記述したファイル生成して、cronに拾わせるとか
0100名無しさん@お腹いっぱい。01/09/19 07:02ID:???
↑ アンタ甘いな、この聞き方からしてなが〜いスクリプトってのはフェイクなんだよ
良く聞いてみたらなが〜いのはもちろんhelloperlも動かない
つーかHTMLも表示出来ん、Pingも飛ばねえってオチ   これ基本ね
0101名無しさん@お腹いっぱい。01/09/19 07:18ID:???
>98
ブラウザ表示がタイムアウトになっても処理は続いてる。
画面に表示されないだけ。
表示内容を見たいだけならスクリプトの最後に表示させたい内容を
外部保存するように書き換えて、あとからそのHTMLだけ開けばいい。
■ このスレッドは過去ログ倉庫に格納されています