【Perl】初心者コーナー Part14
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
02/07/18 16:34ID:jemWJhH31:自分はこう言う事がしたい。
2:それでこんな風にやってみたが・・・
3:それだとこんなエラーが出て上手く行かなかった。
1と3が無いと誰も答えられないよ。
良い回答は良い質問から。一緒に勉強しましょう。
CGIだけど、なんか質問ある? Part 6 (その2)
http://pc.2ch.net/test/read.cgi/php/1025930486/
参考書籍の話題は【【Perl,CGI】参考書籍 第2版】
http://pc.2ch.net/test/read.cgi/php/988809842/
その他の雑多な話題は、【CGIに依存しないPerlの話題一般】
http://pc.2ch.net/test/read.cgi/php/991313362/
スクリプトの改造依頼は 【スクリプト改造工房 Part4】
http://pc.2ch.net/test/read.cgi/php/1012839651/
過去ログ、その他の役立ち情報は>>2-10あたりを見よう。
0002nobodyさん
02/07/18 16:34ID:jemWJhH3Part1 http://tako.2ch.net/test/read.cgi?bbs=perl&key=957208980 参照不能
DAT: http://tako.2ch.net/perl/dat/957208980.dat
Part2 http://tako.2ch.net/test/read.cgi?bbs=perl&key=971817087 参照不能
DAT: http://tako.2ch.net/perl/dat/971817087.dat
Part3 http://tako.2ch.net/test/read.cgi?bbs=perl&key=979894521 参照不能
DAT: http://tako.2ch.net/perl/dat/979894521.dat
Part4 http://tako.2ch.net/test/read.cgi?bbs=perl&key=984430156 参照不能
DAT: http://tako.2ch.net/perl/dat/979894521.dat
Part5 http://pc.2ch.net/php/kako/988/988728069.html
Part6 http://pc.2ch.net/php/kako/996/996075607.html
Part7 http://pc.2ch.net/php/kako/1000/10002/1000267444.html
Part8 http://pc.2ch.net/php/kako/1003/10039/1003900311.html
Part9 http://pc.2ch.net/php/kako/1009/10095/1009549309.html
Part10 http://pc.2ch.net/php/kako/1014/10145/1014556702.html
Part11 http://pc.2ch.net/php/kako/1017/10172/1017201229.html
Part12 http://pc.2ch.net/test/read.cgi/php/1019917048/
Part13 http://pc.2ch.net/test/read.cgi/php/1022731565/
[ひまぢん氏のミラー]
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
0003nobodyさん
02/07/18 16:34ID:jemWJhH3・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メモ: http://www.din.or.jp/~ohzaki/perl.htm ★読んどけ
・Perl Recipes: http://www.effectiveperl.com/recipes/
・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/
0004nobodyさん
02/07/18 16:35ID:jemWJhH3・Perl News: http://www.news.perl.org/
・Perl Monks: http://www.perlmonks.org/
・use 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
・Logical Choice Software, Home Page: http://www.logsoft.com/perltips/
・Perlfect Solutions: http://perlfect.com/
・The Perl Archive : http://www.perlarchive.com/
・Perl6 & Parrot VM についての情報: http://dev.perl.org/perl6/
・use Object; : http://perl.infoware.ne.jp/
[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
・Perl security和訳:http://www.kt.rim.or.jp/%7ekbk/perl5.005/perlsec.html
・CGI and Security http://www.ansi.co.jp/tech/cgi/security/
・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
[OS]
・Linux日本語マニュアル:http://www.linux.or.jp/JM/
・FreeBSD日本語マニュアル:http://www.jp.freebsd.org/man-jp/
0005nobodyさん
02/07/18 16:35ID:???http://pc.2ch.net/test/read.cgi/php/1026968140/l50
0006nobodyさん
02/07/18 16:37ID:???0007nobodyさん
02/07/18 16:44ID:???とりあえず乙彼
0008nobodyさん
02/07/18 16:45ID:???・Perl News: http://www.news.perl.org/
・Perl Monks: http://www.perlmonks.org/
・use 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
・Logical Choice Software, Home Page: http://www.logsoft.com/perltips/
・Perlfect Solutions: http://perlfect.com/
・The Perl Archive : http://www.perlarchive.com/
・Perl6 & Parrot VM についての情報: http://dev.perl.org/perl6/
・use Object; : http://perl.infoware.ne.jp/
[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
・Perl security和訳:http://www.kt.rim.or.jp/%7ekbk/perl5.005/perlsec.html
・CGI and Security http://www.ansi.co.jp/tech/cgi/security/
・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
[OS]
・Linux日本語マニュアル:http://www.linux.or.jp/JM/
・FreeBSD日本語マニュアル:http://www.jp.freebsd.org/man-jp/
0010nobodyさん
02/07/18 17:02ID:???==終了==
0011nobodyさん
02/07/18 17:24ID:AnxO1cAdはぁ〜。/Д`)
0012nobodyさん
02/07/18 18:01ID:???0013nobodyさん
02/07/18 18:34ID:???同じ文法でデータベースを変えるとちゃんと走りやがります。
つらいです。
0014nobodyさん
02/07/18 20:51ID:s7bVAL5Cフレーム形式のホームページで
2個のフレームのうちの一つに画像型CGIを埋め込む。
正しいreferereを取りたいんだがどうしたらいいですか?
envだとフレームのURLを、javascriptの手法を使用しても
フレームの呼び出し元のindexのURLをもってきてしまう。
indexにはjavascriptが使えないみたい。
0015nobodyさん
02/07/18 21:10ID:???の代わりに
parent.document.referrer
を使う。
jsね。
0016nobodyさん
02/07/18 21:46ID:???Perlでコメントを書く場合に
# 【注意】******
の様にコメント行に【】や ●▲ などの記号類を使っても問題無いでしょうか?
記号を使う目的は、後から自分が見て見やすくするというだけの理由ですが・・・。
0017nobodyさん
02/07/18 21:48ID:???0019nobodyさん
02/07/18 22:22ID:???ありがと
0022nobodyさん
02/07/19 02:59ID:???例えば、
$hoge = '<img src="hoge.jpg">';
$hoge = "<img src=\"hoge.jpg\">";
に違いはあるんでしょうか?
0023nobodyさん
02/07/19 03:02ID:???気分で使い分けるのがツウ
0024nobodyさん
02/07/19 03:11ID:???さんきゅ
あと聞き忘れましたが、変数に数字を入れる場合、
""で囲む場合と、何も囲まずにダイレクトに入れている場合が有りますが
その違いはありますか?
例えば
$hoge = "10";
$hoge = 10; の様に
0025うひ!
02/07/19 03:21ID:???気分っつーか " は変数展開される
print 'このビールは$5です';
print "このビールは$5です";
下はあなたの思った動作をしないはず
$hoge = 10はどっちでも良い
"10"なら文字列として10なら整数型として
その時々に都合良く解釈してくれる
0027nobodyさん
02/07/19 03:36ID:???http://www.kt.rim.or.jp/~kbk/perl5.005/perlfaq7.html#Do_I_always_never_have_to_quote_
漏れのBMだから随分古いけどな (ウヒ!
0028パイの魅学園
02/07/19 03:41ID:Yx4p6kT0( _(((((((((_ )
|/ ~^^\)/^^~ ヽ|
| _ 《 _ |
(|-(_//_)-(_//_)-|)
| 厶、 | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
\ |||||||||||| / < サンプルを覗くのも・・・。
\_~~~~_/ \_________
http://www.traffimagic.com/WIPE7MMLZCA/comein/FSJPN
無料で今日も”どっぴゅ〜” だっふんだぁ〜
0030sleepy jaguar
02/07/19 05:34ID:???http://www.msleep.com/sleepy_jaguar/
Msleep
http://www.msleep.com/
( ´,_ゝ`)( ´,_ゝ`)( ´,_ゝ`)( ´,_ゝ`)
0031nobodyさん
02/07/19 07:24ID:???%hash = &form;
sub form{
read STDIN, $form, $ENV{CONTENT_LENGTH};
@datas = split /[&;=]/, $form;
return(@datas);
}
0033nobodyさん
02/07/19 07:31ID:???数字のソートはsort関数でできるんですか?
数字だろうが数値だろうがオブジェクトだろうがソートできるよ。
0035nobodyさん
02/07/19 10:02ID:zrmmynPy0036nobodyさん
02/07/19 12:20ID:3YmVGYTQ(・∀・)ウセロ!!
0037nobodyさん
02/07/19 13:15ID:???なんでCGI.pmを使わないのかと小一時間問いつめたいのですが、
よろしいでしょうか。
0039nobodyさん
02/07/19 13:34ID:IEMDM0Nuif(条件式){ test1.cgi実行 }
else{ test2.cgi実行 }
上のように、条件分岐してcgiを実行したいのですが、どうすればよいのでしょうか?
<form>タグでaction=****.cgiとして、submitで実行しか思いつかないのですが・・・
厨房ですいません。
0040nobodyさん
02/07/19 13:38ID:7Bpm6nE5004139
02/07/19 13:42ID:IEMDM0Nu早速レスありがとうございます。検索してきました。
print "Location : ***.cgi \n\n";
こんな感じで、いいのですね
ありがとう!
0042nobodyさん
02/07/19 13:47ID:ou++e83o0043nobodyさん
02/07/19 13:52ID:???板、いや、スレ違い。
004442です
02/07/19 13:57ID:ou++e83o表示される名前の部分の色を変えるにはCGIのなかを書き換えないといけないといわれたので・・・。
0045nobodyさん
02/07/19 14:03ID:???スクリプト改造工房 Part4
http://pc.2ch.net/test/read.cgi/php/1012839651/l50
0046nobodyさん
02/07/19 15:35ID:???004742です
02/07/19 15:48ID:ou++e83o逝ってきます。
004839
02/07/19 16:19ID:h7+QqD7Kフレーム使っていて、右のフレームでCGIを表示したい場合、
print "<form target=right>";
print "Location : ***.cgi \n\n";
print "</form>";
みたいにするしか、無いのでしょうか?
いろいろ調べたのですが分からなくて
0051nobodyさん
02/07/19 17:31ID:???そういうことやってるサイトは無数にあるから、そこのソースコピーしろ。
0052nobodyさん
02/07/19 17:55ID:???if $hoge eq 'hoge' or $hoge eq 'fuga' or $hoge eq 'foo' or $hoge eq 'bar'
とするのと
if $hoge =~ /^[hfb]/
とはどちらがいいのですか?
005352
02/07/19 17:58ID:???if $hoge =~ /(hoge|fuga|foo|bar)/
にしてくらさい
005652
02/07/19 18:02ID:???で、こういう値だったらこっちとかいう具体例ってありますか?
0059nobodyさん
02/07/19 18:10ID:???ただ、正規表現のほうをうまく書き直せばベンチマークをやらないとなんとも
言えない。
0060nobodyさん
02/07/19 18:13ID:???正規表現の出来具合によってはあまり変わらないと。
ご助言アリガトン。これから試してみるのれす
0061nobodyさん
02/07/19 19:09ID:???if $hoge =~ /^hoge|fuga|foo|bar$/
()もいらない。
スピードは$hogeによる。$hogeがとる値の確率の高い順に
orは連結するように。
単一のワードなら、eqのほうが、正規表現より3,4倍早い。
まあ、無視できる程度だけど何千回もまわすようなループの中だと
でかい差になるね。
0062nobodyさん
02/07/19 19:36ID:???どこのコードが何回実行されるかを調べる奴です。
DBugモードは無しで…
Devel::Dprofというプロファイラがあるよ。
$ perl -d:Dprof script.pl
$ dprofpp
httpd上でも同じこと。
ただしプロファイル中はパフォーマンスが劇的に下がるので
実際に動かしながら、というのはお勧めできないけど。
関係ないけど、
そんな「やれやれ、的外れなレスが来たな」とでもいいたげなレスはやめた方が言いかと。
0066nobodyさん
02/07/19 23:04ID:???コテハンうざい
消えろ
0067nobodyさん
02/07/19 23:13ID:???0069nobodyさん
02/07/19 23:44ID:???0071nobodyさん
02/07/19 23:48ID:???0072nobodyさん
02/07/20 09:57ID:???0074nobodyさん
02/07/20 14:41ID:7+IMl9AXどなたかおしえてください
http://music.2ch.net/test/read.cgi/msaloon/1011182085/25-26
0076nobodyさん
02/07/20 15:02ID:NCN+JAmcいやちがいます
これってトリップ解読プログラムらしいんです
でもこれって無限ループさせてRNDとかつかってランダムに6桁を選んで調べているんです
だからそれをaaaaaa-zzzzzzまで順番に一通り検索したいなとおもったんです
aaaaaaのトリップがそれなんです>PP
0079nobodyさん
02/07/20 15:11ID:???解析ソフト使えばブルートも出来るだろ
008074
02/07/20 15:14ID:???半角英語26文字だけですからそんなにかからないはずです
ためしに4文字でやってみたのですが10分もかからかなったです
でもRNDってことは重複をやっているわけで6文字aaaaaaだと解析できなかったんです
(重複の解がいくつもでてくる)
>79
そんなのあるんですか?>解析ソフト
008174 ◆Nb6Ma0MY
02/07/20 15:20ID:???Q、このトリップあててみろ(ヒントは英半角4文字
って言う解をゲットしたいんです これだったらそのプログラムに
Nb6Ma0Mっていれると1分かからず解析できます
だいたい秒速で10000個解析できるとして20882706.4576秒かかる。
つまり、約5800時間(241日)はかかるだろう。
・10000個解析と書いたのは、わたしのマシンで最近Perlスクリプトで
解析した時の速度です。
・ちなみに同じマシンにて解析ソフトをつかったところ、約半分の4500個
解析でした。
・わたしのマシン スペック= CPU:MMX Pentium233: メモリ64M
008374 ◆Nb6Ma0MY
02/07/20 15:38ID:???そんなかかりますか。。。。。(汗
計算しました。6文字までだったら8Hほどなので現実的です。
実際にプログラムは6文字用です。
やり方教えてもらえませんでしょうか?
0085Dream☆こそ真の上級者
02/07/20 15:51ID:???008774 ◆fS5h1Nbo
02/07/20 16:08ID:???できないなら初めからそう言ってください。
だれも貴方に期待してませんから。
008874 ◆Nb6Ma0MY
02/07/20 16:09ID:???>86
見知らぬ国のってやつですか?>ソフト
それならもってます
0090nobodyさん
02/07/20 16:14ID:???009174 ◆nbuTfS9c
02/07/20 16:17ID:???あれはパスワードをピンポイントであてることは出来ないじゃないですか?
似たようなのはさがせますが
(もしかしてできるのですか?)
たとえばこれなんて2文字ですがとりっぱーじゃ探せないですよね?
009274 ◆AQeVTHLI
02/07/20 16:19ID:???このスレッドのヒトは馬鹿ばっかりですね。
0093nobodyさん
02/07/20 16:21ID:???009574 ◆nbuTfS9c
02/07/20 16:26ID:???それはわかりますが、4文字くらいまでなら即効で分かりたいのです。
今気づきましたが>>82さんってトリップ違ったんですね
0097nobodyさん
02/07/20 16:46ID:???0098nobodyさん
02/07/20 16:55ID:???009974 ◆nbuTfS9c
02/07/20 17:24ID:???0101nobodyさん
02/07/20 20:29ID:???の www がつくかつかないの法則性ってあるのでしょうか。
0102nobodyさん
02/07/20 21:01ID:???@unko=(4487,8456454,4544,945452,85,754);
@manko=sort @unko;
print "@manko[0..5]";
じゃ数字のソートにならなないです教えてください
ネタじゃないです
0103nobodyさん
02/07/20 21:05ID:???0105nobodyさん
02/07/20 21:56ID:???0107nobodyさん
02/07/20 22:20ID:???0108nobodyさん
02/07/20 23:08ID:???っていうかじゃま。ここはPerlコンテストスレじゃないから、、
スレ立てれば?たぶんコテに荒らされるとは思うけど、、
0109nobodyさん
02/07/20 23:46ID:???begin
println('解析しました');
end;
0110(笑いが止まらない)
02/07/21 00:11ID:???所詮コテハンで書く奴なんてそんなもの。クズばっか
0114nobodyさん
02/07/21 00:20ID:???クズばっか
ばかばっか
ばっか
0116nobodyさん
02/07/21 00:23ID:N7aMXnNpオマケに低スキルとくるから害以外の何者でもないね
救\ツマ2耐2耐2・ 8対2鎗 !打2蔵 9体2銑<替2蔵 8繕2其>唾2耐2惰2耐3唾2俗 !詑2・4対2陀<9対2陀<8・2然ichマ2・ PE L 「;・ ・ P
p bョ `
@ ミ WI |
ネ ・ : `
0117nobodyさん
02/07/21 00:23ID:???0118nobodyさん
02/07/21 00:24ID:???0fillと左寄せで総当りする奴
CでufcCrypt使ってるから、perlの倍近く速い
0120nobodyさん
02/07/21 05:26ID:???$i = 1;
while(1){
kill ">>106";
if(die ">>106"){last;}
$i ++;
}
print $i, "回の殺害で、>>106は氏にました";
0121nobodyさん
02/07/21 07:14ID:???012274 ◆AQeVTHLI
02/07/21 09:42ID:???恨みます。
0123nobodyさん
02/07/21 09:56ID:v1h8+7/c0124nobodyさん
02/07/21 16:16ID:XUtCuljQスクリプトのソースがファイルに記録されてしまうのですがどこが
おかしいのか教えてください。
ソースはこれです。
ttp://zor007.netfirms.com/files/159.txt
012674 ◆nbuTfS9c
02/07/21 16:23ID:???ガーンまだ教えてもらえないのね
0128nobodyさん
02/07/21 16:40ID:???2chで使われているトリップのコードを元にしたやつね。
$hoge = '検索したいトリップ';
for($i=1;1;++$i){
$salt = substr($i."H.", 1, 2);
$salt =~ s/[^\.-z]/\./go;
$salt =~ tr/;:<=>?@[\\]^_`/AaBbCcDdEeFfG/;
$trip = substr(crypt($i, $salt),-8);
print "◆$trip : #$i\n" if ($trip =~ /$ARGV[0]/io);
}
数字のみしか解析できないからあとは適当に改良してな。
0130124
02/07/21 16:56ID:XUtCuljQPOSTした内容の後ろにソースが付くのですが、、、原因がさっぱり
です(´・ω・`)
0131んじゃCで
02/07/21 16:58ID:???ボーランドのC++コンパイラで
#include <stdio.h>
int main(void)
{
while(1)
printf("\t\b\b");
}
をコンパイル。これCのコードね
んで.exe実行。で解析ファイルがでる。
かんばれ
0133コギャルとHな出会い
02/07/21 17:08ID:8IhQDrIii/j/ez/対応です
お役立ちリンク集
必ず役立ちます
サイト管理者お役立ち集
1日4000HIT以上
↓
http://kado7.ug.to/wowo/
i/j/ez/対応
コギャルとH出来るサイトはここ
ヌキヌキ部屋へ直行便
↓
http://kado7.ug.to/wowo/-a.htm
i/j/ez/対応
0136.
02/07/21 19:03ID:uxGaIo9zPPMで
Error installing package 'Devel-DProf': Could not locate a PPD file for package
Devel-DProf
などというエラーが出ます。
助けてください。
Perlのバージョンは?
perl5.6以上なら標準で入ってるけど、
そうでなければ自分でビルドするしかないかもね。
0139nobodyさん
02/07/21 19:26ID:???use strict 使うか -cw でチェックしたりした?
掲示板の表示
sub Output{
my $message,$titel,$name,$mail,$reload,$color,$log,$check;
↑
ちょっとしか読んでないけどtypoハケン
0140124
02/07/21 19:27ID:XUtCuljQどこかおかしいところあるでしょうか?
sub File_write_read{
my $log,$addlog,$check_string;
my @logs;
$log = $_[0];
$check_string = $_[1];
$addlog = $_[2];
if(!open(ADD,"+<$log")){
return 0;
}
else{
flock(ADD,2);
if($check_string == 1){
@logs = <ADD>;
}
elsif($check_string == 2){
print ADD "$addlog";
@logs = <ADD>;
}
flock(ADD,8);
close(ADD);
return @logs;
}
}
0141nobodyさん
02/07/21 20:14ID:???0143nobodyさん
02/07/21 20:54ID:???0144nobodyさん
02/07/21 21:26ID:smidQHj9これって半角英語入れられないですよね?
$hoge = '検索したいトリップ';
for($i=1;1;++$i){
$salt = substr($i."H.", 1, 2);
$salt =~ s/[^\.-z]/\./go;
$salt =~ tr/;:<=>?@[\\]^_`/AaBbCcDdEeFfG/;
$trip = substr(crypt($i, $salt),-8);
print "◆$trip : #$i\n" if ($trip =~ /$hoge/io);
}
forのところaからzっていれても駄目だし
どうすればいいんだろう
0145124
02/07/21 21:28ID:XUtCuljQありがとうございます
一応解決しましたが、、、
いろいろ試してみた結果windows上のapache2の上ではソースが
保存用ファイルにソースまで書き込まれてしまいおかしいなと思って
LINUX上のapache2で試してみたらちゃんと書き込みできましたこれってapacheのバグ!?
0147124
02/07/21 21:33ID:XUtCuljQつい最近書き始めたばっかり
でもこのソースでLINUX上ではちゃんと動いた、、、
0148124
02/07/21 21:34ID:XUtCuljQ俺へのレスじゃなかったのか間違えた鬱だ死のう
0150nobodyさん
02/07/21 21:44ID:???コテハンは糞
0152nobodyさん
02/07/21 21:49ID:???0153nobodyさん
02/07/21 21:56ID:smidQHj9かけません。だから聞いているんです
お願いします
0154nobodyさん
02/07/21 22:00ID:???それよりさ
http://music.2ch.net/test/read.cgi/msaloon/1011182085/
なんでここからあなたがとんでくるわけ?
煽ってんじゃなくて理由がしりたい。
なんでいきなりPerlコードが書かれるのよ。
Dreamが何者?とかいうよりあなたが何者?
0159な〜つはス〜ぎ〜雨上が〜り
02/07/21 23:11ID:???│ |
│ . キ違い警報発令 ! │
│ |
└―――──――――┘
ヽ(´ー`)ノ
( へ)
く
0160nobodyさん
02/07/21 23:52ID:???@link=split/<>/;
if($link[0] eq "hoge"){
$hoge="$link[2]";
}
foreach($hoge){
@next=split/\t/;
print "$next[0]";
.....
}
と処理したいんですが、
どうも
foreach($hoge){
だと処理ができません。
こうしたい場合はいったいどうすれば宜しいのでしょうか?
0161nobodyさん
02/07/22 00:02ID:???0162nobodyさん
02/07/22 00:04ID:WiTDQmMb[書式]
foreach 変数(配列){
処理
}
0163160
02/07/22 00:45ID:???0166ひろゆ子&diams;HRUNYAXA
02/07/22 02:06ID:???0167bigpapa
02/07/22 02:21ID:???■ 全国の愛すべき諸君へ 沖縄より愛を込めてbigpapaより
★ 2ちゃんねるの管理人に賠償と書き込みの削除を命令 東京地裁
------------------------------------------------------------
インターネット上の人気サイト「2ちゃんねる」の掲示板をめぐり、
東京都内の動物病院が「書き込みで中傷された」として東京地裁は26日、
400万円の支払いと書き込みの削除を命じた。
管理人は「不当な判決だ。賠償額についても不満があり、控訴する予定」
と話している。[毎日新聞6月26日
■ 東京地裁の判決の詳しい結果は下記のURLをご覧ください。
■ http://www1.ryucom.ne.jp/papa/newpage2chsaiban.htm
■ アスキーアート(AA)の定義JISアートの定義は下記URLへ
■ http://www1.ryucom.ne.jp/papa/asciiart.htm
0168nobodyさん
02/07/22 03:48ID:Ajg2mltJ0169nobodyさん
02/07/22 05:04ID:???0170168
02/07/22 07:13ID:Ajg2mltJ0172&diams
02/07/22 12:41ID:???0173♦#
02/07/22 14:50ID:???0174Piano ◆QGZrdAAA
02/07/22 15:27ID:EIYlzT8wメタ検索CGI作ってるんですが、
print "Location: http://www.google.co.jp/search?q=".$in{'word'}."&ie=UTF-8&oe=UTF-8&hl=ja&btnI=I%27m+Feeling+Lucky&lr=lang_ja\n\n";
とした場合、平仮名やカタカナは問題なく即リンクできるんですけど
漢字で検索をかけた場合、見当違いなホームページに飛んでしまいます。
$in{'word'}に入ってる値のエンコードが問題かと思いましたが
普通のgoogle検索だと問題なくこのメタCGIで検索できたので
エンコードの問題では無いと思うんですが、、、。
誰か教えて下さい、お願いします。
0175hage
02/07/22 15:31ID:???Perlで。もしくはPHPで。
0176nobodyさん
02/07/22 15:52ID:K2sicsKl0177nobodyさん
02/07/22 16:04ID:???0178nobodyさん
02/07/22 17:00ID:???print "$i\n";
}
結果
0001
0002
・
・
・
0010
初めて知ったyo
0179nobodyさん
02/07/22 17:22ID:???$prog = <<"PERL";
for($i=1;1;++$i){
$salt = substr($i."H.", 1, 2);
$salt =~ s/[^\.-z]/\./go;
$salt =~ tr/;:<=>?@[\\]^_`/AaBbCcDdEeFfG/;
$trip = substr(crypt($i, $salt),-8);
}
PROG
eval $prog;
こうすると、似たような処理を繰り返すとき早いとか書いてあったけど実際はどうなの?(記憶が曖昧でスマソ)
0180nobodyさん
02/07/22 17:24ID:???0181nobodyさん
02/07/22 18:42ID:7X7F8f9Keval { flock IN, 2; };
@line=<IN>;
eval { flock IN, 8; };
close(IN);
すみません質問です。
このロック処理の方法はミスがありますでしょうか?
私は意味が無いような気がするんですが、
どうもこれだという理由がなくて困ってます。
0184nobodyさん
02/07/22 19:06ID:???open(IN,"<$log");
eval { flock(IN, 2); };
@line=<IN>;
close(IN);
これのほうが良いかな〜?
0186nobodyさん
02/07/22 19:16ID:???0189nobodyさん
02/07/22 19:25ID:???0190181
02/07/22 19:50ID:???flock(XX, 1) 読込中なので書込をロック、あとから来たら待つ。(ブロック)
flock(XX, 2) 書込中だから書込読込ロック、あとから来たら待つ。(ブロック)
flock(XX, 5) 読込中なので書込をロック、あとから来たら0を返す。
flock(XX, 6) 書込中だから書込読込ロック、あとから来たら0を返す。
flock(XX, 8) ロック解除(close(XX)すれば解除なのであまり使わない)。
0191181
02/07/22 19:51ID:???0192Piano ◆QGZrdAAA
02/07/22 20:57ID:Ipm5/McI0195181
02/07/22 21:07ID:???これならいける?
0196181
02/07/22 21:10ID:???わかったか厨房?プゥ___。
0197181
02/07/22 21:17ID:???195の方法で出来たんだろ?
無視かよ!
0198nobodyさん
02/07/22 21:19ID:???0201nobodyさん
02/07/22 21:36ID:???/●ヽ/
(∧_∧) / ̄ ̄ ̄ ̄ ̄
( ´∀`)< 質問前に過去スレ検索モナー。
( ) \_____
| | |
(__)_)
0203nobodyさん
02/07/22 22:58ID:11nH30Zk虫取りしてるんですが、たびたび「@〜は\@〜と書け」ってな表示に遭遇します。
これは多分配列を認識してないんだと思うんですが、原因が分からないんです。
どこか変ないじり方しちゃったんでしょうか。
なんか全部の配列について同じように警告されてる感じなんですが。
0204nobodyさん
02/07/22 23:01ID:???本当にそうなるかはわからないけど。
配列とは関係なく、
単に"foo@mailaddress.com"を"foo\@mailaddress.com"にせよ、という意味だと思われ。
0207nobodyさん
02/07/22 23:28ID:11nH30ZkIn string, @lines now must be written as \@lines at yybbs.cgi line 285, near "@lines"
って書かれるんですけど、285行には@linesなんてないし、@linesが含まれる行は
ログの取り込み処理とかそういうので、どこもいじってないはずなんです。
ひょっとしてどこかでクォーテーション閉じ忘れたとか、そんなことでしょうか。
見直してますが、2600行ぐらいあるんで大変です。
0208203
02/07/22 23:28ID:11nH30Zk0210nobodyさん
02/07/22 23:33ID:???自分で50行位書いてみれ、それが出来たら解決する。
どっかで行か何か閉じるの忘れてるんだろけど…
0211203
02/07/22 23:42ID:11nH30Zkってか、頭の方のEOMが小文字になってました。
なんか変な置換かけちゃったみたいです。
お騒がせしました。
0212168
02/07/22 23:53ID:???結局無理って事ですよね?
0213nobodyさん
02/07/23 00:20ID:???%e = (abc => 0, xyz => 1, ... , xxxx => 99)なんてのをスマートに初期化したい。
0214nobodyさん
02/07/23 00:40ID:8Y4x0Hwt例えば、$dataという変数のなかに、ABという文字列がいくつあるか
カウントすることはできますか?
0216nobodyさん
02/07/23 00:43ID:Cp6+hfm6設定された最大記事数を越えると過去ログに行くようには出来るのですが、
管理人の任意の時に、表示されている記事を過去ログに行かせるというのがうまく出来ません。
何か良い方法はないでしょうか?お願いします。
0217nobodyさん
02/07/23 00:43ID:???0218214=217
02/07/23 00:44ID:???0220nobodyさん
02/07/23 00:52ID:8Y4x0Hwtあいうえお
かきくけこ
さしすせそ
たちつてと
なにぬねの
だった時、最初の3行のみを表示するには、どうすればよいでしょうか?
0221213
02/07/23 00:56ID:???ハッシュでやろうとしてるけど、abc => 1, xyz => 2と数値を直接書くのはださいので
かっちょいい書き方(初期化)があるかなと。
0222☆
02/07/23 00:58ID:hvIhNQI10224216
02/07/23 01:01ID:Cp6+hfm6掲示板に書き込みがあり、ある一つの話題で盛り上がる
↓
その話題が終わる
↓
※管理人が、その話題に関する書き込みをまとめてpast.htmlに送る
↓
各過去ログ(past1.html past2.html〜)に飛べるようにする
という風にしたいのです。分かりにくかったらすいません。
0225 ̄ ̄ ̄ ̄
02/07/23 01:01ID:???@e{qw(abc xyz)}= (0 .. 1);
0227nobodyさん
02/07/23 03:58ID:???my @symbols = qw/ foo bar baz /;
my %e;
@e{@symbols} = (0..$#symbols);
TMTOWTDI
0228nobodyさん
02/07/23 04:02ID:???さらにそれをuse constantで定数化しちゃうというのも・・・
BEGIN
{
my @symbols = qw/ foo bar baz /;
my %e;
@e{@symbols} = (0..$#symbols);
while( my($name,$value) = each %e ) {
eval sprintf( 'use constant ENUM_%s => %d', uc($name), $value );
die if $@;
}
}
print ENUM_FOO, "\n";
0229nobodyさん
02/07/23 04:22ID:???それじゃあ$iとかが全部その時の値に置換されちゃうじゃん・・・
ともかく、文字列をevalするのは遅い。そういうことをするのは例えば
AUTOLOADを使って動的に関数を作成するときとかだけだと思うよ。
そうすると2度目からはAUTOLOADを通さずに関数が呼び出されるからその分
早くなるので。
0230yuri
02/07/23 08:42ID:???Perlで。もしくはPHPで。
教えて下さい、お願いします。
ちなみに私は17歳・女です。
そのくらいならenum.pmを使ってほしい。
use enum qw(FOO BAR BAX);
0234nobodyさん
02/07/23 09:58ID:???0236nobodyさん
02/07/23 10:23ID:???0237nobodyさん
02/07/23 12:25ID:???0240nobodyさん
02/07/23 13:40ID:???/.::ヽ /.:: ヽ
/.::: ヽ /.:::: ヽ
/.::: ヽ /.:::: ヽ このスレは一体
/.::::::. ヽ,,,,,,,,,,,,,,,,,,,,,,,,,,,/.::::::::. ヽ
/.::::::::::: ヽ 何なのですか
/.::::::::: / ヽ ヽ
/.::::::: / ‐・‐ ‐・‐\ ヽ
ヽ.:::::: .:::: /
ヽ.::::: .::::: /
ヽ.:::: \__/ /
ヽ.:::: \/ /
\.::::: /
0243yuri
02/07/23 14:21ID:???答える側の態度は悪すぎですね。
絵梨悲しいです。
0244nobodyさん
02/07/23 14:28ID:???> 2:それでこんな風にやってみたが・・・
> 3:それだとこんなエラーが出て上手く行かなかった。
>
> 1と3が無いと誰も答えられないよ。
> 良い回答は良い質問から。一緒に勉強しましょう。
質問のテンプレートが>1に用意されてるのに無視か?
その癖誰も聞いちゃいねえ話を一人でしてる。
態度が丁寧だってなら、書き込み内容の要不要くらい判断しろ。
0246nobodyさん
02/07/23 14:30ID:???どんなに態度が丁寧でも、郵便局で牛丼頼むような奴にまともな対応が返ってくるなんて思うな。
0247nobodyさん
02/07/23 14:30ID:???こんな質問に答えてこそ存在意義を示せるってもんじゃないか。
答えてやれよ
0248nobodyさん
02/07/23 14:44ID:???できるかできないか聞いているならできる
教えてあげたんだからこれ以上くる必要はないから来ないでね。>>1もまともに理解できない人は。
0249nobodyさん
02/07/23 14:54ID:???というのは
just another perl hacker
の略のですにゃん◆JAPH9PWA は神なのですにゃの
php板では最強なの(´ω`)/
>>◆JAPH9PWA
ただもう出てこないでまじで
名無しで受け答えしてもなんの問題もないやん
マ板では相手にしてもらえなかったのか(泣
0250nobodyさん
02/07/23 14:57ID:???0251nobodyさん
02/07/23 15:03ID:???0254ハァ?
02/07/23 15:19ID:???0255yuri
02/07/23 15:20ID:???0256yuri
02/07/23 15:21ID:???力を合わせればきっと出来ます!
0257nobodyさん
02/07/23 15:22ID:???0258nobodyさん
02/07/23 15:29ID:???0259nobodyさん
02/07/23 16:13ID:???出来るよ、ImageMagickで検索してみ
ただこれのHTMLパーサは10年前の代物だから、このままだと
話にならない。
*nixならmozillaやGaleonにレンダリングして貰っても良いんだけど
普通はサーバにブラウザなんか入って無い、と言うかXさえ走って居ない
やるなら、Mozillaのソース追ってXLSだっけ? でperlから叩ける様に
してやるのが一番良さそうだが俺はやった事が無い
WINならIEコントロールかな?
http://www.nk.rim.or.jp/~t_kimata/cgi/
ここの管理人が前に色々やってたな
0260nobodyさん
02/07/23 16:16ID:???0261nobodyさん
02/07/23 16:23ID:???もっと分かり易く教えろやヴォケが!
0262nobodyさん
02/07/23 21:08ID:???0264nobodyさん
02/07/23 21:52ID:???ぼろくそに言われて、荒らしになったと思われ
最近、回答者も”俺は偉いんだぞー病”にかかってるの居るからなー
0266nobodyさん
02/07/23 21:56ID:???最近の事じゃないけどな。
初期からずっとだよ。
さて、気を取り直して。
1 名前:nobodyさん 投稿日:02/07/18 16:34 ID:jemWJhH3
いらっしゃーい、Perlの「コーディング」で困ってる人のスレです。
1:自分はこう言う事がしたい。
2:それでこんな風にやってみたが・・・
3:それだとこんなエラーが出て上手く行かなかった。
1と3が無いと誰も答えられないよ。
良い回答は良い質問から。一緒に勉強しましょう。
0267nobodyさん
02/07/23 22:03ID:???CGI改造したら、サーバーダウンさせっぱなし…追放されちった…
開発者向けでないテストサーバー知ってる人いますか?
出来れば無料…
知らないか…
0268nobodyさん
02/07/23 22:24ID:???0269nobodyさん
02/07/23 22:35ID:hYANtpdNhttp://www.kent-web.com/www/index.html
0271nobodyさん
02/07/23 22:58ID:???お願いします。
0273nobodyさん
02/07/23 23:24ID:dbl+1Fdvbbs.cgi?name=giko&msg=itteyoshi
こんなのがリロードされたら連続書き込みになっちまうだろ。
書き込みを受け取ったら、
Location: bbs.cgi
で飛ばすがよろし。
0276nobodyさん
02/07/24 04:06ID:???ちょっと自分で調べてみて、
use strict;
use LWP::Simple;
print get('http://www.2ch.net/');
とすると、そのページが表示される、というところまで調べられました。
そのページのHTMLソースを1行ずつ配列に入れていきたいんですけど、
どうすればできるんですか?よろしくお願いします。
0277nobodyさん
02/07/24 04:39ID:???0278nobodyさん
02/07/24 04:58ID:???use strict;
use LWP::Simple;
my @foo = split( /(?:(?:\r)?\n)+/, get( 'http://www.2ch.net' ) );
ちなみにその質問は「LWPの使い方」とは違いますね。 ;)
0280m
02/07/24 05:47ID:rNnlw0cu0281nobodyさん
02/07/24 06:00ID:???外すとエラーになります。。
my宣言は都合でしたくないんですけど解決策はありますか?
0282nobodyさん
02/07/24 06:16ID:???なんでしたくないの?
使わない時もあるけど、そっちのほうが例外で普通はmyを使わない
スクリプトってのは酷いコードになるよ。
0284nobodyさん
02/07/24 09:48ID:???perl使ってる時点でstrict通そうがコード酷いのはいなめないと思うが。。。
つーか綺麗さより使い勝手って割切られてる言語なんだし。。。
0285nobodyさん
02/07/24 09:51ID:???Netscape4.7以前のバージョンで表示されないんです。
IEだと表示されたんですが・・。
Javascriptが原因かと思ったんですが消してみてもダメでした。
ちなみにソースを見るとちゃんと顧客一覧が表示されているんです。
ソースにはあるのに、どうしてブラウザには表示されないんでしょう・・。
0289nobodyさん
02/07/24 12:03ID:???まともなHTMLを厨が書かなくなるわけだ。
0291nobodyさん
02/07/24 12:31ID:???構造化言語とシェルスクリプトに無理矢理構造化を組み込んだ言語。
オブジェクト指向言語とシェルスクリプトに無理矢理オブジェクト指向を組み込んだ無理矢理構造化を埋め込んだ言語。
ノイズはどんどん増幅されている。
0292nobodyさん
02/07/24 13:05ID:???いいコードかけるのねー。
0299nobodyさん
02/07/24 15:14ID:izWyFOGVhttp://uptime.netcraft.com/up/graph
ここにあるような、URLを指定してそのサーバーの
HTTPヘッダ情報を取ってくるようなスクリプトを作成したいと考えています。
自鯖の情報は取れるようになったのですが、SERVER_SOFTWARE、
イメージとしては
1.URL入力
2.そのURL(鯖)に対して自鯖のCGIをリクエストしてよってお願い
3.向こうの鯖の環境変数get
てなカンジかなぁ、と思っています。
つまりまぁ、上記URLのようなことができればこんな面倒なやり方じゃなくてもいいのですが。
何かよいお知恵をお貸しください。
0300コギャル&中高生H大好き
02/07/24 15:16ID:nUYA8H9Hi/j/ez/対応です
お役立ちリンク集
必ず役立ちます
サイト管理者お役立ち集
1日4000HIT以上
↓
http://kado7.ug.to/wowo/
i/j/ez/対応
コギャルとH出来るサイトはここ
ヌキヌキ部屋へ直行便
↓
http://kado7.ug.to/wowo/-a.htm
i/j/ez/対応
0301nobodyさん
02/07/24 15:31ID:e324b2xPそのサーバのHTTPヘッダ情報をとるのになんで向こうのサーバが自サーバのCGIを
リクエストする必要があんの?
0302nobodyさん
02/07/24 15:36ID:???0303nobodyさん
02/07/24 16:04ID:???なぜでしょうか?
my $a = "!";
print "Test1" if $a =~ /!/g;
print "Test2" if $a =~ /!/g;
0304nobodyさん
02/07/24 16:13ID:e324b2xP0306nobodyさん
02/07/24 16:19ID:izWyFOGV確かに自分でもよく整理できてませんでした。(汗
>>302
今調べたらsokectのサンプルソースがあったので、
これを頼りにがんがってみます
ありがとうございました。
0307てすた
02/07/24 17:48ID:IOzuRKclニダー
0308てすた
02/07/24 17:49ID:IOzuRKclウツ。。
0309てすた
02/07/24 17:50ID:IOzuRKcl0310nobodyさん
02/07/24 17:50ID:???iswebはCGIの外部呼出し不可。
0311てすた
02/07/24 17:52ID:IOzuRKclシテマシターーヨ ヽ(TーT)ノ
0312初心者
02/07/24 18:16ID:???ネスケではHTMLソースで表示されてしまいます。
ネスケの全バージョンでダメでした。
Content-typeとか<HTML><BODY>等は問題なく入ってるんですが・・
0314nobodyさん
02/07/24 18:19ID:???0315初心者
02/07/24 18:21ID:???本当です。
Perl内は
print "Content-Type : text/html\n\n";
・
・
print "<HTML><HEAD><TITLE>投票結果</TITLE><META HTTP-EQUIV=\"PRAGMA\" CONTENT=\"NO-CACHE\">\n";
print "<meta http-equiv='Content-Type' content='text/html; charset=Shift_JIS'></HEAD>\n";
print "<BODY BGCOLOR=#000000 TEXT=#FFFFFF>\n";
・
・
print int($count) ;
print "</table></div></BODY></HTML>";
となっています。
0318nobodyさん
02/07/24 18:31ID:???自分で初心者を名乗る奴は基本的に信用できん。
print "Content-Type: text/html\r\n\r\n";
にしてみろ。
0319初心者
02/07/24 18:31ID:???lintかけてみました。
ドキュメント宣言やHTML lang="ja"を入れてみたんですけど
やっぱりダメです。
ネスケでHTMLソースがダラダラと表示されてしまいます。
0321初心者
02/07/24 18:33ID:???オオオオ!!!
バッチリ逝きました!!!
ありがとうございます!!!
ローカルでは\n\nでうまく行ってたのに
ミクストメディアではこんなの必要なのか・・・・・
0326nobodyさん
02/07/24 19:28ID:???http://pc3.2ch.net/test/read.cgi/tech/1017736187/
: ◆JAPH9PWA はもうそこからでんな!
みてて悲しくなったぜ。
0327nobodyさん
02/07/24 19:39ID:???0329nobodyさん
02/07/24 19:48ID:???0331nobodyさん
02/07/24 20:13ID:???漏れはShift-Jisで使い続けてしまったせいでとても変更してられないと思い変えてないが。
これから始める人はEUC-JPにしておいた方がいいぞ。
0332nobodyさん
02/07/24 20:16ID:???0333nobodyさん
02/07/24 20:21ID:???スマヌ
0336nobodyさん
02/07/24 21:35ID:???よくある設定されている件数を超えると自動で「次の10件」などというアンカーを出すには
どういった処理をすればよいのでしょうか?
0337nobodyさん
02/07/24 21:36ID:???//ボタンを表示するか決定
//引数:ページ
//返値:無し
function checkbuttonvisible($page)
{
//ファイル開く
if(file_exists($this->config->datafile))
{
$fdat = file($this->config->datafile);
$count = count($fdat);
}
//戻るボタンの制御
if($page <= 0)
$this->beforebuttonvisible = false;
//進むボタンの制御
if($count - ($page * $this->config->rescount) <= $this->config->rescount)
$this->nextbuttonvisible = false;
}
PHPだがね。
0338nobodyさん
02/07/24 21:51ID:OQVd1xfTどこをどうすればよいのでしょうか?お願いします。
0343nobodyさん
02/07/25 01:08ID:???0344nobodyさん
02/07/25 01:29ID:EsugPjEdデコードのとこで
jcode.pl使ってる箇所をコメントアウトしてみ
0345nobodyさん
02/07/25 02:08ID:/52BoRCiプログラムが作りたいんですけど、どんなライブラリ、関数を使えばよいでしょうか?
キーワードだけでも教えていただけないでしょうか?お願いします。
0346nobodyさん
02/07/25 02:17ID:???頭の中で言いたいこと整理してからもう一度来い。
>ユーザー名、パスワードを入力し、送信してくれる
意味がわからん。何のユーザー名、パスワード。何処に送信?
0347nobodyさん
02/07/25 03:03ID:???0348nobodyさん
02/07/25 03:06ID:GntP6rBS0349nobodyさん
02/07/25 03:14ID:???0350nobodyさん
02/07/25 03:14ID:???0351http://www.geocities.co.jp
02/07/25 06:29ID:1xMT6UXy0357nobodyさん
02/07/25 12:08ID:???$_351 = "itteyoshi";
}
0358357
02/07/25 12:09ID:???$_351 = "itteyoshi";
}
0360nobodyさん
02/07/25 13:19ID:???rename (aaa.txt, bbb.txt);
でやると実行権限がないとエラーが出ます。念のためaaa.txtのパーミッションを777に
したんですけどダメでした。
unlinkは unlink aaa.txt; とやるのですがファイルが無いとエラーが出ますなんででしょう。
0361nobodyさん
02/07/25 13:32ID:???パーミッション777のファイルがリネームもアンリンクもできないということは、
ファイルシステムが壊れています。OSを再インストールしましょう。
0362nobodyさん
02/07/25 13:34ID:???たぶんそれはないと思うんですけど。
0363nobodyさん
02/07/25 13:34ID:???0365nobodyさん
02/07/25 13:57ID:???中身
#!/usr/bin/perl
require 'jcode.pl';
rename aaa.txt bbb.txt;
print "Content-type: text/html\n\n";# HTML文出力宣言
print "エラー:$!";
何がダメなのかさっぱりわからないです。ちなみにここはパーミッションとかは関係ないみたいです。
0366nobodyさん
02/07/25 13:59ID:???0367nobodyさん
02/07/25 14:07ID:av9ITDXMじゃないの?
0368nobodyさん
02/07/25 14:17ID:???でも今度はファイルが無いとエラーが出ます。
ファイルはちゃんとありますよね・・?
0369nobodyさん
02/07/25 14:22ID:???0370nobodyさん
02/07/25 14:22ID:v0Zz+Fi9こうしているんですが。
0371nobodyさん
02/07/25 14:24ID:av9ITDXM0373nobodyさん
02/07/25 14:25ID:v0Zz+Fi9require 'jcode.pl';
# rename ("../aaa.txt","../bbb.txt");
print "Content-type: text/html\n\n";# HTML文出力宣言
print "$ENV{'PATH'}<br>";
print "エラー:$!";
何も出ないですね。。
0374nobodyさん
02/07/25 14:26ID:v0Zz+Fi9/aaa.txt
こういう感じです。
0375nobodyさん
02/07/25 14:29ID:???ほんとにそうか?ホスト名が分かれているからCGI専用のサーバが分かれて
いるんじゃない?実際のディレクトリ構造とマウントポイント・エイリアス・
リンクなどもあるからニンともカンとも。
0376nobodyさん
02/07/25 14:39ID:???つーかローカルでテストやれや
外でするならKENTの設定変える以外触るな
0377nobodyさん
02/07/25 15:00ID:???サーバー上でやらないと意味ないじゃん。
0378nobodyさん
02/07/25 15:14ID:???FAQ読めっつってんだろ ああ??
おまえ日本語の不自由な方か?
0380nobodyさん
02/07/25 15:29ID:???普通のファイルがmembers.tripod.co.jpサーバ
0381nobodyさん
02/07/25 15:46ID:v0Zz+Fi9require 'jcode.pl';
rename ("http://members.tripod.co.jp/hello_baby/aaa.txt","http://members.tripod.co.jp/hello_baby/bbb.txt");
print "Content-type: text/html\n\n";# HTML文出力宣言
print "$ENV{'PATH'}<br>";
print "エラー:$!";
こうやったけどダメでした。
それだけでrenameできると勘違いしている新種の厨房(推定:中学校1年生 オナニーの覚えたて。)
0384nobodyさん
02/07/25 16:02ID:???0385nobodyさん
02/07/25 16:03ID:???おとなしくcgi-bin/以下にファイルを置きましょう。
0386nobodyさん
02/07/25 16:09ID:???というか、一つのサーバーにつないでいるのにあたかも他のサーバーのディレクトリも見えるなんて不思議です。
0387nobodyさん
02/07/25 16:13ID:???require 'jcode.pl';
rename ("aaa.txt","bbb.txt");
print "Content-type: text/html\n\n";# HTML文出力宣言
print "$ENV{'PATH'}<br>";
print "エラー:$!";
aiueo.cgi と aaa.txt を同じディレクトリに置きました。
エラー:No such file or directory と出ました。
今度は何がいけないんですか?
そんなファイル無いと言われても確かに同じディレクトリにあります。
どうしてこんなに分からず屋なんでしょうか。
0388nobodyさん
02/07/25 16:14ID:???members,cgi,ftpそれぞれ別なんです。
0390nobodyさん
02/07/25 16:19ID:???ほんとだ!
変わってる!!
なんでだ!?
0391nobodyさん
02/07/25 16:49ID:???0392nobodyさん
02/07/25 17:02ID:???0394nobodyさん
02/07/25 17:10ID:???tripodのサポート。
0395礼儀厨房
02/07/25 17:10ID:???APeriへのパスの指定とディレクトリをいじってみたけど
Bわかりませんでした。パスの指定とは基本的にどういうことなのでしょうか?
借りたサーバーのQAにいってもよくわかりませんでした。もっとも外国鯖なので
翻訳したのが少々わかりづらかったかなと・・・
借りた鯖はPROHOSTINGです パスの指定、ディレクトリの仕方をご教授ください
お願いします
0397nobodyさん
02/07/25 17:12ID:???惜しいな。
>いらっしゃーい、Perlの「コーディング」で困ってる人のスレです。
「コーディング」のスレなんだ。
設置は別のところで聞いて。
0399nobodyさん
02/07/25 17:17ID:???ここから探せばすぐ分かるよ
0401XSについて再び1
02/07/26 02:39ID:???ここで適当に受け答えしてる奴らほんと全員シネヨ。(特にコテ)
今日ひさしぶりにperlxstut.txtみてやっとわかったよ。
手順言うからメモしろチンカスども。
環境はWin ActivePerlな
ftp://ftp.microsoft.com/Softlib/MSLFILES/nmake15.exe
でnmake ダウソ ファイル名はnmakeとかに直しとけ
0402XSについて再び2
02/07/26 02:40ID:???cd Xstestして Xstest.xsに
void
hello()
CODE:
printf("Hello. Tinkasu Boy!\n");
とかく。チンカスはそうお前の事だ。
んでperl Makefile.PL
nmake
nmake install
0403XSについて再び3
02/07/26 02:41ID:???#!/usr/bin/perl(まぁDOSならいらんがな)
use Xstest;
Xstest::hello();
でそれ実行できればOKだ。OK?糞Perler。
お前らが20代とかだったら俺は泣くね。
0404nobodyさん
02/07/26 02:47ID:???0405nobodyさん
02/07/26 05:42ID:???前に5.7絡みでgunzipが講釈してた様なきがするけど
やっぱり●●は想像を絶する位●●なのかなあ
0406nobodyさん
02/07/26 06:08ID:???0407nobody
02/07/26 06:20ID:???0408406
02/07/26 07:35ID:???というか圧縮されたプログラムなんで、実行するとnmake.exeとnmake.errってファイルが出来る(だったかな)
だからrenameの必要はないはずなんだけどなぁ。彼は実際にやってみたんだろうか。
0413nobodyさん
02/07/26 13:48ID:???この || って、ダメだったらって意味ですか?
0414nobodyさん
02/07/26 13:50ID:???もしくは。
ifの中のと一緒だ。
前の式がtrueなら後ろの式は評価されないと言う性質を逆手に取った
他の言語ユーザに見せたらどつき倒されそうな処理です。
0415nobodyさん
02/07/26 14:02ID:???あと、
sub auto_link {
$_[0] =~ s/([^=^\"]|^)(http\:[\w\.\~\-\/\?\&\=\@\;\#\:\%]+)/$1<a href=\"$2\">$2<\/a>/g;
}
これはURL文字列を自動的にリンクにするサブルーチンですけど、
自分は正規表現が複雑なのはわかりません。
でもサブルーチンは便利で引数だけ渡せば意図する結果を返してくれます。
サブルーチンの中の正規表現をわざわざ噛み砕いて理解する必要はありますか?
まぁ、これがわからないと自分でいちから作れないという訳になってしまいますが。
0417nobodyさん
02/07/26 14:09ID:OgCRHfVmscript01.plをuser01で実行し、その中からsystem関数を使って
script02.plを実行させたい。
ただし、script02.plは、user02が実行したものとしたい
2:それでこんな風にやってみたが・・・
perl -h で起動オプション調べてみましたが、起動ユーザーを指定
する方法がありませんでした。
何か、スクリプトを起動するユーザーを選択する方法ってないでしょうか?
0419nobodyさん
02/07/26 14:39ID:???そうか?Cとかで
fp = fopen("m","r") || printf("error!");
なんてコード書いたら多分干される。
0420nobodyさん
02/07/26 14:49ID:OgCRHfVmgoogleで調べたら、chmod 4755 script02.pl でsetuidモードになるようです
が、やはりだめでした。
script02.pl は、PostgreSQL への INSERT文を集めたスクリプトなんですが
database not connecti が出ますね。
いや、言わないでください。GRANTでデータベースの方に権限与えれば
っていうのは重々判ってはいるんですが、script01.plを実行するユーザは
nobodyにしたいんですよね。将来、CGIにする為。
dbにnobodyの権限を与えるのを躊躇ったものですから、script02.pl を
PostgreSQLユーザーの権限にしておいて、実行ユーザーを換えようと
思ったんです。
どうも、この方法はだめなようですから、GRANTを検討してみます。
0422nobodyさん
02/07/26 15:31ID:???return $hoge;
↑ってどういう意味があるんですか?
0424nobodyさん
02/07/26 15:52ID:NvB7dZaP0426nobodyさん
02/07/26 15:55ID:???else{ print "NO"; }
cgiファイルと同じディレクトリにhoge.txtがあるんですけど
NOしか出てきません。なぜですかね。
他のファイル演算子も試しても全部elseになっちゃいます。
0428422
02/07/26 15:57ID:???else{print "b";}
0429nobodyさん
02/07/26 16:00ID:???Perlは一番最後に処理されたステートメントが「自動的」に
戻り値になる:
sub FOO_1 { 1 }
sub FOO_2 { return 1 } # FOO_1 と戻り値は一緒
sub BAR { FOO_1() } # 戻り値はFOO_1の戻り値
0431nobodyさん
02/07/26 16:01ID:NvB7dZaPreturnを書かなかったら最後に評価された式の値が返るんじゃないの。たしか。
>>426
サーバがIISかPWSとか?
0432nobodyさん
02/07/26 16:01ID:NvB7dZaP0433nobodyさん
02/07/26 16:01ID:hk7TA9Ju0434nobodyさん
02/07/26 16:02ID:???それってhoge.txtを""でくくってないからとかいうオチでは?
例えばコマンドライン上から以下を実行するとOKはプリントされないけど
perl -e 'print "OK" if -e hoge.txt'
これはOKってでるみたいよ:
perl -e 'print "OK" if -e "hoge.txt"'
これまたuse strict;しないからそういうエラーがでるわけだ・・・
0435426
02/07/26 16:08ID:???一応ファイルがあることは確認できました。
$a = "home/***/html/cgi-bin/hoge.txt";
if(-e $a){ print "OK"; } else { print "NO"; }
でOKでした。
で、renameしたいので、
$b = "home/***/html/cgi-bin/hoge2.txt";
rename ($a,$b);
としましたが、アクセス権が無いとエラーが出ます。
hoge.txtを777にしてもだめです。
ファイル演算子でアクセス権を確認すると全てOKでした。
なぜでしょうか。
0436422
02/07/26 16:10ID:???sub BARみたいな使い方があるんですね。
初めて知ったことなので勉強になりました。
ありがとうございます。
>>430-431
最後に評価された式の値が帰るような書き方をすればreturnは別になくてもいいのですね。
>>434
そんな気がしました。
0439422
02/07/26 16:16ID:???$dir$a
$dir$b
こうかな?
0440nobodyさん
02/07/26 16:16ID:???単一式のルーチンだったらreturnははしょってもいいと思うけど、
基本的には見易さとメンテの事を考えてちゃんとreturnを使用するのを
お勧めする
0441426
02/07/26 16:16ID:???で、
$a="hoge.txt";
$b="hoge2.txt";
rename($a,$b);
で試すんですけど、「Permission denied 」とエラーが出ちゃいます。
0444nobodyさん
02/07/26 16:18ID:???ディレクトリのパーミッション変えろ。
0445426
02/07/26 16:21ID:???で、で、でで、出来ました。
755を757にしたら成功しました。
でも、勝手にパーミッション変えても平気なんでしょうか。
他の人のcgiファイルとかもあるんですけど。。。
0447426
02/07/26 16:23ID:???cgi-bin/mycgi/hoge.cgi
cgi-bin/mycgi/hoge.txt
と、cgi-binの中に専用のディレクトリを作って、mycgiのパーミッションを757にした時
cgi-binは755のままでも平気ですか?
0449426
02/07/26 16:28ID:???自分で試します!!
0450nobodyさん
02/07/26 16:30ID:???ワロタ
0453nobodyさん
02/07/26 17:28ID:???表示も改行出来るようにしたいのですが
一行に繋がってしまいます。
問題の一行なんですが
$text =~ s/\n/<BR>/g;
間違ってますかね?
0457nobodyさん
02/07/26 18:01ID:???見苦しすぎ…。
>454の言ってることを半分でも理解してみな。
夏だなぁ。
0458453
02/07/26 18:03ID:???おおおおおおおおおおおおおおおおおおおおおおおおーーー!!!!!!!!!!
素晴らしい!!!!!!!!!!!!!!!!!!!!!!!!!!
有難うございます!!!!!!!!!!!!!!!!!!!!!!!!!!!
0459nobodyさん
02/07/26 18:04ID:???説明不足だからヒント出すにしても範囲が大きくなってしまう。
実際のスクリプトの1行だけを見せられても、前後の関係で実際に処理されて
いるかどうかさえ見当もつかないよ。
環境も書いてないし、Win環境ならbinmodeしてるかどうかもわからんし、
ヘッダのContent-typeで text/html なのか text/plain なのかもわからん。
0460nobodyさん
02/07/26 18:05ID:???見苦しすぎ。w
ヒントだ、調べて答えてやれ。
よくあるフォームで入力した場合の改行コードをHTMLで改行するための<br>に置換したい。
しかしあの一見間違ってはいないコードでは置換できない。
なぜか?だってさ。
0462nobodyさん
02/07/26 18:45ID:???r89えygptm4yhbtp45y@:yhghtp
あえr、ぐbyjhpct。rl:、え;clvw0y8gjlv
gj、0b9yt4
コテハンは糞
0463nobodyさん
02/07/26 18:58ID:???仲間のとこに行って来い
http://pc3.2ch.net/test/read.cgi/tech/1012096319/39-
0464nobodyさん
02/07/26 19:06ID:???おおおおおおおお「−0:「;:
0465nobodyさん
02/07/26 19:08ID:0TP2S/Vplock中他の書き込みを制限しますが、
待たされる方はずっと待っているようです。
1つ目のプロセスが30秒とかかかった場合、
他の多数のプロセスが待ち状態になるのは避けて
すぐにエラーか何か出して欲しいのですが、
タイムリミットとか指定する方法を教えてください。
0467XSer/1 ◆keVp6ehw
02/07/26 19:47ID:???/ \ / \
│ ● ● │ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
│ /\_/\ │ < 帰ってきたぜチンカスども
\__│● ●│_/ \_________
/ \/ ̄\/ ヽ
/ ヽ
/ ヽ
>/│ _ │\ <
まともに反応できたのが糞コテの生き残りJAPH9PWAだけとはな、、
どうせここは WEB製作板とム板のファイヤーウォールだろうからなしゃーねな。
まぁ中には防火壁をやぶった糞コテもいるがな 括弧笑い。
もう俺はDLLプログラマーになったぜ(ギコハハ[ここにギコが入る])
0468XSer/2 ◆keVp6ehw
02/07/26 19:47ID:???int
wind()
CODE:
int APIENTRY WinMain(HINSTANCE hInst, HINSTANCE hPrevInst,
LPSTR lpCmdLine,int nCmdShow);
{
MessageBox(NULL, "HEY TINKASU! ", "KUSOKOTE! -_- ", MB_ICONHAND
|MB_OK|MB_SETFOREGROUND);
return 0;
}
んで先頭に
#include<stdlib.h>
#include<stdio.h>
#include<windows.h>を付けとく
0469XSer/3 ◆keVp6ehw
02/07/26 19:50ID:???nmake installだ。
でPerlスクリプトでuseして&windで呼び出したらメッサゲボックス君が
宇宙の心理を語ってくれる。
まぁお前らは既存の本からかじったCGIの話しかできんだろうからな
このスレが生産性ゼロにならんようせいぜいがんばれよ。
あばよチンカスども。もうこねーよのぉうわーんってか?
(注)チンカス=[80%の]回答者と糞コテ
後、俺はファイルロックの話が嫌いだ。専用スレでやれ。
0471nobodyさん
02/07/26 19:55ID:???0472nobodyさん
02/07/26 22:52ID:0TP2S/Vp安定した処理を作成したいと思っています。
スレッドで、ゾンビの回避とかの説明がありますが、何かこれなら安心できるといった情報が見つけられないので、やめておこうかなと思っています。
プロセスが多数たまるよりは、symlinkロックの方がいいかなという思いになりました。
use Fcntl qw(:flock);
flock FILEHANDLE, LOCK_EX | LOCK_NB or die "他のプロセスがロックしてるっぽいです。";
後はコレとループとsleepを組み合わせればよし。
0474nobodyさん
02/07/27 11:57ID:XCYe1qpSオープンしてsplitして連想配列に読み込んで、データを変更したら、
print FILE"$A{$B},$A{$C}\n" って感じで書き込む、ってことをやってます。
しかし、データ量もトランザクションもうなぎ上りでファイル書き換え待ち
などで専用サーバーなのに、ロードアベレージが常時3〜5とかになって
きました・・・われながら効率の悪い・・・
で、最近知ったのですが、
use DB_File;
tie %A, "$DB_File","DBdb",0_RDWR|0_CREAT,0640,$DB_HASH;
なんてやって、
untie %A;
なんてやるとイイ!みたいなんですが(あってますか?)この、
tie(ファイル読み込み?)や、untie(ファイル書き込み?)は、排他制御
は自動で行われるんでしょうか?
0476nobodyさん
02/07/27 18:06ID:???0478Xeser ◆keVp6ehw
02/07/27 20:14ID:???今日、本屋でオライリー.jpが「Perlシステム管理」とかいう
糞な本を翻訳して出してるのみたよ。まさにチンカスが書きそうな本だ
そう、おまえらみたいな奴が書いたんだろうな。さっさと「ラクダ3版」翻訳しろってな。
今,W2kでPerl5.8R3のコンパイルの調整中だminiperlだけなんかしらんができた。
やるよ、チンカスのおかずにぴったりだ。
少なくともcygwin1.DLLが別途いる、まぁCygwinのコアだけインすコすりゃいいんだ。
以前Setup.exeがぶち壊れてたが、今はしらん。FTPからとってくるのもよし。
0479Xeser ◆keVp6ehw
02/07/27 20:15ID:???Build->[CYGWIN_NT-5.0/1.3.7(0.51/3/2)/i686(Cele)]
http://hiero_pl.tripod.co.jp/miniperl.exe
MD5: a09c4590b276c0c75f5e8ef89176552d
------------------------------------------------------------
http://pc3.2ch.net/test/read.cgi/tech/993665608/397 [←天才]
LWPとか使えんからな。
0480Xeser ◆4XfSMGTg
02/07/27 20:16ID:???チンカスどももその低脳な脳みそでも使ってすこしは社会に貢献しろよ。
それともその脳には自分が儲けることしか入ってないのか?糞だな。
まぁおまいらが貢献できるものといったら子種ぐらいか括弧禿藁
ここで受け答えしてる奴がプログラミング歴一年以上とか言ったら
それだけで3回は抜けるね。うんこぶりぶり。#(効果音)
悔しかったらVCで俺より先にPerl5.8コンパイルして晒せや。
あとPerl=CGIとかCGI=Perlとか思ってる奴そこに一時間正座(゚Д゚メ)!
(注)チンカス= お前ら= [80%の]回答者と糞コテ
0481nobodyさん
02/07/27 20:18ID:???.;l;^^~ ~~^;l;,,
..;;^^ ~^;;,,
.,;;~ .., .., , , ~;;;, ま
..,;~ .;~ ..; .;^ l l .l l , ~~;;, た
;~ ..;;^ , ;~ l ..:l l ..l ...l ,l , l;, 駄
..l~ ...l~ ,..;;^..;^ l~ ;l l ..l l .l .l ., ~k レ
.;~ ..;l; ;l:..l: ;l ..l, .;~ ..~ ~ l .;l ;l ;l ;~;l, ス
;~ ...;l l;~.;l :l .' / ∧ ..;l ..l: l:, .;l..:;l か
l ..l ;l l; .' _ノ \| \ ..'' l~l: l l; ・
l .l; l ..'' .;l.;l l l; ・
l:::::::;l::::::::l; ___ ___ ''..l:::::::;l::::l ・
l::::::::;l::::::::l l:::::::l::::l~ や
.l:::::::::;l::::::l l:::::ll;:::l^ れ
..l;;:::::::l;:::::;l ○ ○.;l:::::l~:::l~ や
..L:::::;L::::l ;l:::::l;::::l~ れ
..l,,:::::l,:::,l, ;l:::l'':::l'' ・
'''l;;::::l,;::l,, [ ̄ ̄ ,;l:::l''::'' ・
'''';;;;;;;;;;;,,,, ,,,;;;:l:::;''''' ・
''''''';;;;;;;;;;;;;;;;;;;;'''''''
/\ )
..^ヽ/ \ノヘ 三 )
.. / \ )
.. ̄| ̄ ̄|~
__| |_
0483nobodyさん
02/07/27 20:56ID:???固定ハンドル叩きたけりゃ、聞かれもしない低レベルな白痴話をぐだぐだ書くより、
コテハンのレスの技術的な間違い探しでもやった方が早いと思うよ。
0484nobodyさん
02/07/27 21:49ID:???(3:7=ネタ:罵倒 まで許容)
随分XSに熱心な様だけど、あれって必至になって使う価値有る?
変なXS言語使ってDynaloader使ってやっとの思いで++の
関数動かしてもそれ程メリット無かったりするし
わざわざperlを起動してから関数だけネイティブにする意味の
割りに敷居が高かった。
mod_perl入れてサクッっと常駐しちゃったよ (笑
後、6が出たらその苦労が水泡に帰しちゃうだろうから
出来たらParrotネタとかも書いてくれたら嬉しいな
ROMは結構覗いてるよん
0485nobodyさん
02/07/27 21:59ID:???と言うかperl5.8をVCでコンパイルしてるのは何故? >リンク先の人
ActivePerl?
意味が全然理解出来ないんだけど
今からCygwinでやってみるけど
0486nobodyさん
02/07/27 22:02ID:???この人。。。
悲惨
0488jjcocodede
02/07/27 22:32ID:KJ5wNO6P別ファイルのままrequireするのが嫌なので、
ソース最下にコピーしてみました。
ローカルでソース内の文字をgetcodeするとSJISになりました。
サーバーに上げてから、getcodeをするとJISになりました。
ソースはSJISです。
なぜJISになるのでしょう。というかSJISになるようにアドバイス希望します。
0489486
02/07/27 22:35ID:???と言うわけでBCC5.5.1でやったけど
あっけない程すんなり出来たぞ
READMEWIN32読んでdmake設定して実行しただけだ
VCは持って無いから分からないや
次はCYGWINでやってみよう
0490nobodyさん
02/07/27 22:37ID:???Perlのコンパイルもロクにできない >>478は消えてください。
XSってそんな使いにくいかな。
まぁ確かに構文は独特だし奇妙な癖はあるしPerlAPIは難しいけど、別に必死というほどでもないような。
ポインタIVに変換してをblessするとC+ガベコレってな感じで結構面白いし。(遅いけど)
私は好きだな、XS。
Parrotネタはサッパリ分からないなぁ…_g...たん来てくれないかなぁ。
0492nobodyさん
02/07/28 01:12ID:???以下の文字列でJISと判断してるだけのこと。
$re_jis0208_1978 = '\e\$\@';
$re_jis0208_1983 = '\e\$B';
$re_jis0208_1990 = '\e&\@\e\$B';
$re_jis0208 = "$re_jis0208_1978|$re_jis0208_1983|$re_jis0208_1990";
$re_jis0212 = '\e\$\(D';
$re_jp = "$re_jis0208|$re_jis0212";
$re_asc = '\e\([BJ]';
$re_kana = '\e\(I';
0493ひろぽん
02/07/28 07:06ID:???ぱぁるをはじめたんでしゅがえいごばっかりでよめないれしゅよ〜!
どちたらいいんでしゅかねぇ
あびゃ
0494nobodyさん
02/07/28 10:28ID:NWB5Q2O0おながいします。
0495nobodyさん
02/07/28 11:40ID:???@manko=("tinko","kuso","onani");
$aho494=@manko;
print $aho494;
次あげたら殺す
0496nobodyさん
02/07/28 11:44ID:???0497nobodyさん
02/07/28 12:06ID:???0498nobodyさん
02/07/28 17:05ID:???$message =~ s/(https?|ftp):([\x21\x24-\x3B\x3D\x3F-\x5A\x5F\x61-\x7A\x7E]+)/<A href="\1:\2">\1:\2<\/A>/g;
0500nobodyさん
02/07/28 17:37ID:???s#(https?|ftp)://([^ ]+)#<a href="$1://$2">$1://$2</a>#g;
http://www.din.or.jp/~ohzaki/perl.htm
0501498
02/07/28 18:37ID:???http://openlab.ring.gr.jp/k16/htmllint/explain.html#excluded-url
ここを参考にして使ったらいけない文字以外にマッチさせるように書きますた。
あとm//内では$1は\1というふうにもかけます。
0502nobodyさん
02/07/28 18:44ID:???0503nobodyさん
02/07/28 19:36ID:???>あとm//内では$1は\1というふうにもかけます。
は?、オメーの書いてるのは s だろが糞ハゲ
第一宇宙速度で壁に激突して師ね!
0504nobodyさん
02/07/28 19:37ID:???糞ハゲ異臭バカが
0505nobodyさん
02/07/28 19:55ID:NiNmHVdYraとrarの区別ってどうするんですか?
拡張子はにててもかなり違うんですが、、、。
0507505
02/07/28 19:58ID:???できたんでもういいです。
0512nobodyさん
02/07/28 20:05ID:???苦手な脳みそ運動は苦痛でしょう
right?
0514nobodyさん
02/07/28 20:07ID:???>raとrarの区別ってどうするんですか?
>拡張子はにててもかなり違うんですが、、、。
この質問の頭の悪さはTNT火薬500万トン級の破壊力があります
そんな君は絶滅危惧種並みの、イッツ馬鹿モンキーなんですよ
OK?
0515nobodyさん
02/07/28 20:08ID:???もう見てるコッチが恥ずかしくなってしまう。
おまけに逆切れ
バカな事をバカだと指摘してあげたのに
「夏ですね」だって (惨
ああ、バカのココナッツパラダイス
バカのオナニーは永遠に続くのであった
0517nobodyさん
02/07/28 20:13ID:???生ゴミに失礼です、生ゴミはエネルギーも再生資源にもなり得ます
2chで
>raとrarの区別ってどうするんですか?
と聞くホームラン馬鹿には再生の余地も有りません
絶望的です
>>516
痛いクソ野郎に失礼(略
0518nobodyさん
02/07/28 20:25ID:???ra$
0519( ´,_ゝ`)
02/07/28 20:28ID:???拡張子判別で
raとrarの区別ってどうするんですか?
拡張子はにててもかなり違うんですが、、、。
0520nobodyさん
02/07/28 20:32ID:???いちいち煽ってレスが流れるのは勿体ない。
0521nobodyさん
02/07/28 21:04ID:ODyMXFdCs///でした。
>504
スラッシュは含まれています。アスキーコードを勉強してください。
0522nobodyさん
02/07/28 21:16ID:???うるせーっつってんの 恥さらし犬畜生が
http:www.hoge
なんてURLはアルツハイマーのお前の脳内にしか存在しないの
ここは現実世界のBBSですよ
妄想の旅に帰りなさい
0523nobodyさん
02/07/28 21:18ID:???ムカつくぜ
0524nobodyさん
02/07/28 22:05ID:???. |(・∀・)|
. | ̄ ̄ ̄ ジサクジエン共和国
△
△l |
__△|_.田 |△_____
|__|__門_|__|_____|_____
0525nobodyさん
02/07/28 22:31ID:???http://www.din.or.jp/~ohzaki/perl.htm
折角書いたんだからリンク先を良く読むように
もし本当に存在するURIのみを抽出したいのであれば
498では全く不完全。
どうせ不完全なのだから、500では簡単の為に書いた
あと、¥1はこの場合あなたの望んだ動作をしないと
思ったので、間違えてると書いた
分かってるなら聞くなよっつー事だ
0526nobodyさん
02/07/29 02:02ID:3jabpJuBこれどうやって変えるの?
出来るだけくわしく頼むよ
0527nobodyさん
02/07/29 02:08ID:???0528nobodyさん
02/07/29 02:24ID:3jabpJuB0529nobodyさん
02/07/29 02:26ID:???0530nobodyさん
02/07/29 02:26ID:yQQSPnn50531nobodyさん
02/07/29 02:26ID:???1:自分はこう言う事がしたい。
2:それでこんな風にやってみたが・・・
3:それだとこんなエラーが出て上手く行かなかった。
1と3が無いと誰も答えられないよ。
良い回答は良い質問から。一緒に勉強しましょう。
0532nobodyさん
02/07/29 02:29ID:3jabpJuB755とか777とか言うの
これどうやって変えるの?
出来るだけくわしく頼むよ
だってのに(ワラ
0533nobodyさん
02/07/29 02:34ID:???0534nobodyさん
02/07/29 14:09ID:???0537nobodyさん
02/07/29 18:20ID:???原因がわからずこまっています以下がそのコードの一部です
<table border="2" cellpadding="10" bgcolor="#FFFFFF" width="100%"><tr><td>
<b>新規記事作成フォーム</b>
<form method="POST" action="$script">
<input type=hidden name=cmd value="write">
<table width="550">
<tr><td align="left" width="50">名 前</td>
<td align="left" width="100"><input size="40" type="text" name=name></td></tr>
<tr><td align="left" width="50">E-mail</td>
<td align="left" width="200"><input size="40" type="text" name=email></td></tr>
<tr><td align="left" width="50">題 名</td>
<td align="left" width="100"><input size="40" type="text" name=title></td></tr>
<tr><td align="left" width="50">U R L</td>
<td align="left" width="200"><input size="40" type="text" name=url></td></tr>
<tr><td>コメント</td><td align="left" colspan="3">
<textarea name=message rows="5" cols="61"></textarea><br>
<input type=submit value="新規投稿"></form>
</td></tr></table></td></tr></table>
0538nobodyさん
02/07/29 18:22ID:???if($FORM{'cmd'} eq 'write') {&write;}
としてるんですが新規投稿ボタンを押しても&writeに飛んでくれないのです
ためしにprint "$FORM{'cmd'}";とやってみましたが空白でした。
0539nobodyさん
02/07/29 18:24ID:???0541FLASHのNOWLOADINGのような動作したい
02/07/29 19:38ID:Ph2A5ZX/メール送信の方法としては、メールアドレスが入った@MAILという配列に対して、
foreach $mail @DATA{
#$mailに対してその都度sendmailをオープンして送信
#1秒スリープ
}
という感じです。
サーバーの規定でsendmailは多くとも1秒に一通の割合で、という注意があるため、
1秒スリープしています。
流れとしてはメール本文編集画面から、送信ボタンを押すと上記のように
メール送信を始めて、全部終わったところで「送信完了しました」という画面を出すのですが、
送信件数が少ないうちはいいのですが、件数が多くなってくると別にエラーが起きているわけでもないのに、
タイムアウトになるのか、「送信完了しました」画面が出ません。
(エラーならinternal servererrorになりますが、画面はタイムアウトの時と同じ画面です。)
そこで、とりあえずFLASHで良くやるNOW LOADING...見たいな感じで、
「現在送信中」の画面を出しといて、バックで送信処理を続けて、送信が終わったら「送信完了しました」
という画面に移動したいのですが。
現在やり方が全く思いつきません。
0542FLASHのNOWLOADINGのような動作したい
02/07/29 19:41ID:Ph2A5ZX/#$mailに対してその都度sendmailをオープンして送信
#1秒スリープ
}
配列の名前間違えました。
0543FLASHのNOWLOADINGのような動作したい
02/07/29 19:47ID:Ph2A5ZX/print "Location: nowloading.html";
でとかにとばして「送信中」と書いたHTMLに飛ばして、
foreach $mail @MAIL{
#$mailに対してその都度sendmailをオープンして送信
#1秒スリープ
}
とやって、そのあとに
「送信完了」画面を出す。
でいけるかな?ちょっとやってみますが。
0544FLASHのNOWLOADINGのような動作したい
02/07/29 20:00ID:Ph2A5ZX/が表示されたまま。
無理でした。
0545nobodyさん
02/07/29 20:05ID:???あげんな。
思うのはここへきてる人間がもしあなたにそれを教えてさ
あんたが儲かるわけでしょ?バイトか仕事かしらんけど。
露骨過ぎだよ、、アホだ。あんたが俺になんかしてくれるのか?
なら答えてやるぞ。
それともネタか?違うだろうなあげてるもんな。
0546スレ違いだよな
02/07/29 20:39ID:???メタタグ入れて読ませたり出来るけど、共用してるだろから
ユニークIDとかトランザクション辺りでカッコ悪くなるでしょ
それがCGIの限界。
と言うわけで、Nowloading.htmlの推奨内容
どうせsendmailの先で死ぬ事も有るんだし (笑
メールを送信しました、上手く行くかどうかは分かりません (^o^)/~~
0547nobodyさん
02/07/29 20:49ID:???my($name,$email,$url,$title,$message) = ($FORM{'name'},$FORM{'email'},$FORM{'url'},$FORM{'title'},$FORM{'message'},);
こんな感じですがこれ以前に
if($FORM{'cmd'} eq "write")に反応しないんです
0548nobodyさん
02/07/29 20:54ID:???どうやって$FORM{'cmd'}に入れてるんだ?
勝手に入るとか思ってたりはしないよな?
まさかそこまで馬鹿じゃないよな?
夏とは言えそこまで馬鹿はいないと信じたいな。
0549nobodyさん
02/07/29 21:21ID:zYJTXqe4所有者がapacheとなります。この所有者は好きなのに変えられないのですか?
0550474
02/07/29 22:10ID:???マニュアルはperldocやweb等いろいろと見てみたのですが、全然ロックに関する
記述が無いんです。(T_T
しかし、dbと名が付いているくらいだからロックくらいはしてくれるだろう、
ということでとりあえずsdbmでやってみようかな、って思ってます。
でも微妙に気になる。(w
0551nobodyさん
02/07/29 22:15ID:???read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
local(@pairs) = split(/&/,$buffer);
foreach $pair(@pairs){
local($name,$value) = split(/=/,$pair);
$value =~ tr/+/ /;
$value =~ s/%([\dA-Z]{2})/pack("H2", $1 )/eg;
$FORM{$name} = $value;
}
0553nobodyさん
02/07/29 22:45ID:7AOu/QAwをウマーク変えて
□□□(文字列)→<font color="#ff0000">★</font>
な感じに出来ないでしょうか?
0554nobodyさん
02/07/29 22:47ID:???0555nobodyさん
02/07/29 22:50ID:7AOu/QAwやり方を教えて頂ければこちら側としては非常にありがたいのですが…
0559nobodyさん
02/07/29 22:55ID:???いんたーなるさーばーえらー
0560nobodyさん
02/07/29 22:57ID:7AOu/QAwありがとうごだいます。
試してみます。
0562nobodyさん
02/07/29 22:59ID:om5W19We本はリャマ第2版、 Vine2.5+Bashでしゅ。
第三章の問題1ですが、要は、キーボードから
111
222
333
(C-d)←EOFを入れる。
と入力したら、
333
222
111
と表示するプログラムを書け、という主旨だと思います。
解答は、
print "Enter the list of strings\n";
@list = <STDIN>;
@reverselist = reverse @list;
print @reverselist;
となってます。オイラの答は、
@strigns = <STDIN>;
@result = reverse(@strings);
print "@result";
です。変数名と1行目は本論でないので置いとくとして、問題はこれを実行すると、
333
222
111
と2行目以下、行頭にスペースが入ってしまうことです。
違いは、print のトコで、" " で括るか、括らないかの違いなんすが、
この例では、" " はどのような役目を果たしているのでざんしょ?
それと、reverseの引数はカッコ無しでも有りでも変わらないようなのですが、
あっても無くてもいいのでしょうか?
よろしこおながいします。
0563nobodyさん
02/07/29 23:06ID:???わりぃ。
間違えてた。
$right =~ s/□□□/<font color="\#ff0000">★<\/font>/g;
0564555
02/07/29 23:08ID:7AOu/QAw再度トゥライしてみます。
0565555
02/07/29 23:19ID:7AOu/QAw出来ました。
本当にありがとうごだいました。
0566nobodyさん
02/07/29 23:20ID:???と言うか、配列を ” で囲んでprintfに投げると
デフォルトの区切り子を挿入しちゃうんですよ。
$. と $” だったかを弄って見れば分かる筈
@list = qw(hoge foo bar);
print @list;
print "\n";
print "@list";
0567nobodyさん
02/07/29 23:23ID:???"" は普通の文字列の書き方。変数展開とか \ のエスケープとか有りの。配列
変数も展開してくれるそうで。
3.7 配列を文字列中に展開する
「同様に、配列変数から…間にスペースをはさんで、順番に展開されます」
だそうです。実際には、特殊変数 $" の値で区切られるはず。"" で囲まずに
print する場合には、$, (デフォルトは空文字列) で区切られます。
> それと、reverseの引数はカッコ無しでも有りでも変わらないようなのですが、
> あっても無くてもいいのでしょうか?
この場合には無くてもいいけど、必要な場合もあるらしい。この辺は、漏れも
よく分らない。考えるのが面倒なので、大抵 () を付けるようにしてるけど。
0568562
02/07/30 00:12ID:hgHyxKDSなるほど。
$" と $, はまだ勉強していないのでよく分からないけど、
" " の有無による違いは何となく分かりました。
引数のカッコ、とりあえず付けとけば問題無し、ということで
原則かっこ付きで逝きます。
どうもありがとうございました。
0569nobodyさん
02/07/30 10:04ID:???@dataに
2<>名無しさん<>mail@***.com<>http://www.***.com/<>てすと<>てすと<>
1<>名無しさん<>mail@***.com<>http://www.***.com/<>てすと<>てすと<>
の2行がはいっていて1行目の「2」だけを取り出したいのですが
$no = (split(/<>/,$data[0])[0]);
とやってもできませんでした。どうやればいいのでしょうか?
0570nobodyさん
02/07/30 10:07ID:nD+VMZzMここでスレを調べなされ
0571nobodyさん
02/07/30 10:16ID:???所有者がapacheとなります。この所有者は好きなのに変えられないのですか?
0573nobodyさん
02/07/30 10:56ID:???@new = @old;
でいいですか?
試したら一応出来ましたけど。
0574nobodyさん
02/07/30 11:22ID:???これの \Q \E の意味が良くわからないです。
0575nobodyさん
02/07/30 11:30ID:???基本的に変えられませんが、mo-musu だったら変更可です。
やり方:
`chown mo-musu.mo-musu filename`;
0576nobodyさん
02/07/30 11:50ID:???www.kiwi-us.com/~mizusawa//penguin/DATA/dlcount/dlcount.cgi?file=macwwwsrch3097_fol.zip
&jcode'convert(*word, "sjis");
こうやったんですけどうまくいかないです。
0580576
02/07/30 13:37ID:???で、今は普通にSJISでperlを書いています。
>perl スクリプトを EUC-JP で書き, 漢字コードが EUC-JP である日本語を処理するというのが、
>perl で日本語を扱うときに一番問題が起きにくい方法です。
という事はスクリプトを保存する時のコードをEUCに変更した方がいいんでしょうか。
FORMのデコードも全部EUCに変換しなきゃいけないですよね。
0582576
02/07/30 13:59ID:???0584nobodyさん
02/07/30 19:11ID:???aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
と長い半角文字を入力すると記事を表示する枠が勝手に広がってしまいます。
どうすれば枠の幅はそのままで記事は改行されてきれいに収まるように出来るでしょうか?
したり、見た人のホスト名を記録するフリーのPerlを探してます。
どこかにありませんか?教えてください。
プログラムは組めませんが、設置する基本的な知識はあります。
よろしくお願いします。
0587nobodyさん
02/07/30 21:00ID:???だけど検索することはできないんだね
0588nobodyさん
02/07/30 21:11ID:w4X2IPfe0589nobodyさん
02/07/30 21:24ID:???検索してるんだけど、見つからないんだな。
カウントするヤシはイパーイあるんだけど、ログを残すのが無い。
>>590
どこで聞けばいいのだ?
プログラム板は初めてで、初心者の文字があったもんで・・・
0592nobodyさん
02/07/30 23:08ID:???my $hoge;
my $hoge2;
と
my $hoge, $hoge2;
はどう違うんですか?
検索もして自分でも試しましたが答えを見つけることが出来ませんでした。
ご教授お願いします。
0593nobodyさん
02/07/30 23:56ID:???って、全然違うじゃん。
> my $hoge, $hoge2;
myが効いてるのは$hogeだけ。my( $hoge, $hoge2);で上と同じ。
0595nobodyさん
02/07/31 01:01ID:???523 名前:nobodyさん 投稿日:2002/07/28(日) 21:18 ID:???
クソの分際で生意気なチンポ猿だな全く
ムカつくぜ
0597nobodyさん
02/07/31 01:24ID:S7Hc+7gV@X = ("A","B","C","D")
があって、BとCの間にEをつっこむ何かよい手はないでしょうか。
結果的に、
@X = ("A","B","E","C","D")
を作りたいのです。よろしくお願いいたします。
0598nobodyさん
02/07/31 01:39ID:I1Mr+tD00600nobodyさん
02/07/31 02:54ID:???これ以外でWEBページを取得する方法はありますか?
現在借りているサーバーにはモジュールがありやがりやせん。
0601nobodyさん
02/07/31 03:06ID:???面倒なのでコピペ
お前これみて分るか?
use Socket;
$r1=shift(@ARGV);
$html=shift(@ARGV);
$port = 80;
$host = "$r1";
$filename = "$html";
$ipaddress = inet_aton("$host");
$address = pack_sockaddr_in($port,$ipaddress);
socket(SOCKET,2,1,0);
connect(SOCKET,$address);
select(SOCKET);
$ |= 1;
select(STDOUT);
print SOCKET "GET $filename HTTP/1.0\r\n";
print SOCKET "HOST: $host";
print SOCKET "User-Agent: Q51-A";
print SOCKET "Accept-Encoding: gzip";
print SOCKET "\r\n\n";
while(<SOCKET>){
print $_;
}
0602nobodyさん
02/07/31 03:13ID:???LWPは標準モジュールじゃないです。
ActivePerlとかLinuxのディストリには入ってるがな。
ラクダ本くらいは買え。6章にソケット例が書いてある。
0603nobodyさん
02/07/31 03:30ID:y5qu4VWq$a = "abcd";
$a = strlen($a);
echo ("$a\n");
という風な記述をすると思うのですが、これをperlに置き換えたい場合はどの様にすれば宜しいのでしょうか?
0604nobodyさん
02/07/31 03:35ID:???通常であればシェルで
edquota ユーザー名 (Enter)
でエディタが起動して
Disk quotas for user okada (uid xxx):
Filesystem blocks soft hard inodes soft hard
/dev/hdax xxx xxxx xxxx xx x x
上記のテンプレートを編集する事になるのですが、
これを Perl のスクリプトで変更することはできないのでしょうか?
exp) perl ./edquota.pl ユーザー名 blocks値 soft値 hard値 inodes値 soft値 hard値・・
Linux Slackware8.0
Perl5.6 を使用しております。
それでは宜しくお願いいたします。
0607nobodyさん
02/07/31 07:53ID:y2pKIymG示して頂いた例通り(変数名は別のものですがw)試して、巧く機能させる事が出来ました。お蔭さまで助かりました。
何分、糞imodeに対して別途"Content-Length"値を与えなならんと聞いたものですから‥
0608nobodyさん
02/07/31 07:55ID:???0610nobodyさん
02/07/31 08:49ID:???CSSスレで聞け。
0611nobodyさん
02/07/31 09:13ID:phubboAlこれを見れない原因として、何が考えられますか?
0612nobodyさん
02/07/31 09:24ID:???1:自分はこう言う事がしたい。
2:それでこんな風にやってみたが・・・
3:それだとこんなエラーが出て上手く行かなかった。
1と3が無いと誰も答えられないよ。
良い回答は良い質問から。一緒に勉強しましょう。
0613nobodyさん
02/07/31 09:35ID:qpj2RbUE本体からの呼び方の
決まりが書いてあるページが見つかりません。
教えて下さい。
0614613
02/07/31 10:35ID:qpj2RbUE同じファイルにサブルーチンを書いて呼ぶ方法はわかります
別のファイルにサブルーチンを書いて呼び出したいんです
0616nobodyさん
02/07/31 11:51ID:UyjmARAzppm install http://theoryx5.uwinnipeg.ca/ppmpackages/mod_perl.ppd
でwin2000にmod_perlを組み込みたいのですが、、
Error installing package 'http://theoryx5.uwinnipeg.ca/ppmpackages/mod_perl.ppd'
: Could not locate a PPD file for package http://theoryx5.uwinnipeg.ca/ppmpackag
es/mod_perl.ppd
このようなエラーが出ます。URL移動したのでしょうか?
0617nobodyさん
02/07/31 11:58ID:???サーバがメンテ中とかやないの?
0618nobodyさん
02/07/31 12:32ID:???詳細は省き、必要最低限のみ。
サブルーチンの書かれたファイルをSub.pmとする。
その中のサブルーチンをsubとする。
本体の頭に
use Sub qw(sub);
呼ぶときは単に
sub();
サブルーチンファイルの頭に
package Sub;
use Exporter;
@ISA = qw(Exporter);
@EXPORT_OK = qw(sub);
とやって、あとは普通に定義する。
sub {}
0619nobodyさん
02/07/31 12:39ID:???>> my $hoge, $hoge2;
ラクダ本216より
この演算子(my)はコンマよりも優先順位が高いので、2個以上の変数を指定する場合
には、変数の並びをカッコで囲まなければならない。
0621613
02/07/31 12:46ID:???で、できますた!
test_sub.cgiの記述
sub test{print"てすと";}
1;
test.cgiの記述
#!/usr/bin/perl
require './test_sub.cgi';
&test;
>>618様
更に高度な技のご伝授で感激です。
これから解析して勉強します。
お二神様ともありがとうございます。
0622nobodyさん
02/07/31 13:27ID:???1:自分はこう言う事がしたい。
2:それでこんな風にやってみたが・・・
3:それだとこんなエラーが出て上手く行かなかった。
1と3が無いと誰も答えられないよ。
良い回答は良い質問から。一緒に勉強しましょう。
過去ログ、その他の役立ち情報は>>2-10あたりを見よう。
0623nobodyさん
02/07/31 13:31ID:???if($tmp[2] eq $name && $tmp[6] eq $comment) {&error("二重投稿はできません");}
とやったのですが反応しないため
if(($tmp[2] == $name) && ($tmp[6] == $comment)) {&error("二重投稿はできません");}
とやったらできるようになりました。
しかし他の人のコードを見ると前者のようにしてあるのですが
なぜか自分のでは反応しませんでした。
原因がなにかわからないでしょうか?
0624nobodyさん
02/07/31 13:31ID:PJX78SBC$tmp[6]には1番最近書きこまれた記事のコメントが格納されています。
ログファイルに書きこむ際は
my($tmp) = "$no<>$subject<>$name<>$email<>$url<>$time<>$comment\n";
open(DATA,">$logfile") || exit;
unshift(@data,$tmp); print DATA @data; close(DATA);
のようにしています。
一番最近書きこまれた記事の投稿者名やコメント情報は
open(DATA,"$logfile") || exit;
my(@data) = <DATA>; close(DATA);
my(@tmp) = split(/<>/,$data[0]);
のようにして取り出しています。
0625nobodyさん
02/07/31 13:34ID:???\nの扱いがどうなってるかだな。
ログの保存を
my($tmp) = "$no<>$subject<>$name<>$email<>$url<>$time<>$comment<>\n";
に変えて、上の方法にしてみたら?
0627nobodyさん
02/07/31 13:39ID:???0628nobodyさん
02/07/31 14:05ID:???$template->param('ROW',[
{ name => 'Bobby',
nicknames => [
{ name => 'the big bad wolf' },
{ name => 'He-Man' },
],
},
],
);
みたいな処理だと、変数の数が必然的に決まってしまうんで
配列を使って、ネストしたnicknamesに入れるハッシュの数を自由に操作したいんですけど、
0629nobodyさん
02/07/31 14:06ID:???while (@name) {
my %row_data;
$row_data{'NAME'} = shift @name;
push(@nicknames, \%row_data);
}
$name = 'Bobby';
$nickname = 'He-Man';
my %row_data;
$row_data{'NAME'} = $name;
$row_data{'NICKNAME'} = $nickname;
push(@loop_data, \%row_data);
まではいいんですが、@loop_dataに@nicknamesを入れるにはどうすればいいんですか?
push(@loop_data, \@nicknames); などではダメですが
それとも他に配列をネストするための何らかの方法が?
0630nobodyさん
02/07/31 14:12ID:PJX78SBCmy($tmp) = "$no<>$subject<>$name<>$email<>$url<>$time<>$comment<>\n";
こうやってみたんですがだめでした。
0632nobodyさん
02/07/31 15:11ID:PJX78SBCmy(@tmp) = split(/<>/,$data[0]);
$tmp[6] =~ s/\n//;
if($tmp[2] eq $name && $tmp[6] eq $comment) {&error("二重投稿はできません");}
というようにしろということでしょうか?
0633nobodyさん
02/07/31 15:22ID:PJX78SBC0634nobodyさん
02/07/31 15:33ID:???あんたの財布の中身は他人には解らん
変数の中全部吐き出してみろよ
0635comeoneverybody
02/07/31 16:20ID:JJGI7Csk添付ファイル付きメールををセンドメールで送るんですが、
@filesの部分に添付ファイルを入れれます
stdio::sendmail(\%header, $body, $html_body, 0, @files);
こうするとうまくいかないのですが、プログラムの別の部分で
@filesの中身を吐き出してやって、コピペしてやるとなぜかうまくいきます。
stdio::sendmail(\%header, $body, $html_body, 0, '../../aaa.txt',);
すごく単純なことだと思うのですが、なにか解決のヒントください。
おながします。
0637nobodyさん
02/07/31 16:38ID:PJX78SBC1<>書き込みテスト<>名無しさん<>***@***.com<>http://www.***.com/<>2002/07/31 15:14:19 (Wed)<>書きこみテスト<>
です
0638comeoneverybody
02/07/31 16:47ID:JJGI7Cskすると配列そのものを羅列させるには
stdio::sendmail(\%header, $body, $html_body, 0, "@files");
とするべきということですか?
0639nobodyさん
02/07/31 16:53ID:???http://server.maido3.com/
へ飛ばされるんだけど俺だけ・・?
0640nobodyさん
02/07/31 17:05ID:???web powerのstdio.plライブラリーですか。
sendmailのパスが無いようなきがするけど。
その@fileの内容が知りたい。
0641nobodyさん
02/07/31 17:06ID:???0642comeoneverybody
02/07/31 17:13ID:JJGI7Csk>web powerのstdio.plライブラリーですか。
あ、そうです。
sendmailのパスはとうの前に記述してます。
ですから、添付されて無いメールは届きますし、
@filesの中身を吐き出してコピペするとちゃんと添付されて届くんですよ。
中身は
'../aa/1234.txt', '../aa/1235.txt', '../aa/1236.txt',
こんな感じです。
0643nobodyさん
02/07/31 17:33ID:9/C2v2FPタグが禁止なので<,>は<と>に直してデータに保存しています。
で、投稿内容を表示する時は、
$naiyou =~ s/<br>/<br>/g;
こういう感じで改行部分だけ直して表示してます。
で、投稿内容を修正する機能があって<textarea>$hoge</textarea>
という感じで表示して入力してもらいます。
この時、逆に文字の中に<br>が入ってしまって変です。
なので今度は<br>を改行コードに戻して表示しなきゃいけません。
改行コードはOSによって違うので
$naiyou =~ s/<br>/\n/g; # unix
$naiyou =~ s/<br>/\r\n/g; # win
$naiyou =~ s/<br>/\r/g; # mac
という風にOSによって書き分けないといけないですよね?
OSはジャバスクリプトで分ければいいってことでしょうか。
0644nobodyさん
02/07/31 17:34ID:???これかな、何か間違えてるんじゃ無いの?
(\%header, $body, $html_body, 0, '../aa/1234.txt','../aa/1235.txt', '../aa/1236.txt');
こうしたらどうなるの?
0647480
02/07/31 18:12ID:???「コテハンの騎士は一人残らず皆殺しだ(´・ω・`)」(←SWのみすぎ)
ム板Perl6スレでの君の活躍は見事だ。放置プレイマンセーだな(少尿
>>490
あぁ俺英語読めんからいまだにコンパイルできん。
だいたいnmakeうってもできんぞ。詳しく教えろ。
0648480
02/07/31 18:14ID:???ParrotはまえLinuxでmakeできんで泣いたがなぜかCygwinでコンパイルできたよ。
名前しか聞いたことなかったけどおもろそうだな。
とりあえず上げとく(Cygwinとgccまわり&bisonが動けば誰でもコンパイルできる)
http://hiero_pl.tripod.co.jp/parrot.exe
http://hiero_pl.tripod.co.jp/testparrot.bin [parrotテストコード]
↑ホントはtestparrot.pbcだがなんかうまくダウソできんので拡張子はbinにした。
http://hiero_pl.tripod.co.jp/ index.
それなりに向上心があるやつなら.EXEみりゃだうそしてちょっと試すくらいする
だろうからな、、というか俺がそうだ。なんでPerl6スレの糞どもはそういうこと
(物をうぷすること)ことすらせんのかな?
MLでオナ○ーが癖になると怖いな、そうだろJAPH9PWA。
0649480
02/07/31 18:17ID:???*.p6 //perl6 のコード ->parrot/languages/perl6/perl6[perlスクリプト] 使用
*.colac //C#っぽい ->parrot/languages/cola/colacc.exe 使用
*.imc //.,,pasmとなにが違うの? ->parrot/languages/imcc/imcc.exe 使用
*.pasm //、、、アセンブラ? ->parrot/assemble.pl 使用
*.pbc //perl byte Code ->parrot/parrot.exe 使用
[colac の流れ]
./colacc.exe kusokote.colac =>a.imc
./imcc.exe a.imc =>a.pasm
./assemble.pl a.pasm => a.pbc
./parrot.exe a.pbc [実行]
0650480
02/07/31 18:19ID:???./perl6 test.p6 ->test.imc test.pasm test.pbc 生成 ->test.pbc [実行]
*assemble.pl自体はXSとかつかったPerlスクリプトでないのでActivePerlでも実行できた(はず)
perl6もActivePerlで動きそうだけどまぁ試したときは動かんかった。
まぁassemble.plが動けばparrot.exeを試すことぐらいはできるはず。
perl6についてはム板perl6スレに行けば参考リンクが最初に貼られてたので
そっちをミテちょんまげ!。
0651630
02/07/31 19:02ID:???0652597
02/07/31 19:09ID:S7Hc+7gVありがとうございました!
出来ました!!
0653nobodyさん
02/07/31 19:13ID:GgEH/D5c上にも書いてるじゃないか
$foo eq $bar
が真にならないのは$fooと$barの中身が違うからだよ
print 関数の使い方検索して出力してみろよ
もし、同じ文字列なのに偽になるんだったら
サーバの管理者に聞きなさい
0654>651
02/07/31 19:24ID:???0655comeoneverybody
02/07/31 19:27ID:JJGI7Cskそそ、それです。
で、いまやってみましたら上手く行きました。
(\%header, $body, $html_body, 0, '../aa/1234.txt','../aa/1235.txt', '../aa/1236.txt');
これは上手くいくんですが、配列にしたときに上手くいかないんですよ。
0657nobodyさん
02/07/31 20:00ID:???ホントに試したの?
$aa = '../aa/1234.txt'; $bb = '../aa/1235.txt';
(\%header, $body, $html_body, 0, $aa,$bb);
これならどうなるの?
配列の使い方知ってる?
>>656
それはクライアントの仕事だから、その為にContent-typeがあります
HTML書く時に一々ジャバスクリプト? でクライアントのOSを判定
しますか?
そんな事しなくてもクライアントがソースを見るとちゃんと置換されて
ますね
何故ならそれはブラウザちゃんのお仕事だからです
0658comeoneverybody
02/07/31 20:18ID:JJGI7Csk試しました。こっちは必死ですから。
本気でperl始めてまだ2週間です。
配列もなんとなく使ってはいたんですが。
@files=(@files,"'../aa/$form{$my}.txt',");
こんな感じで作ってます
0659comeoneverybody
02/07/31 20:22ID:???それも行けました
0660630
02/07/31 20:25ID:???>>$foo eq $bar
>>が真にならないのは$fooと$barの中身が違うからだよ
>>print 関数の使い方検索して出力してみろよ
>>もし、同じ文字列なのに偽になるんだったら
>>サーバの管理者に聞きなさい
出力しても同じ文字でした。ローカルでテストしてるので鯖管は自分です
print unpack('C*', $foo), "\n";
print unpack('C*', $bar), "\n";
0662657
02/07/31 20:37ID:???ネタ?どう考えてもドキュメント読んだ方が早い
http://www.ie.u-ryukyu.ac.jp/~kono/perlman/cat1/perldata.html
@files = ('../aa/1234.txt','../aa/1235.txt', '../aa/1236.txt');
(\%header, $body, $html_body, 0, @files);
それとそのライブラリ、そのまま使うと何でも通すので
多分攻撃されます($form{$my})、ファイル消されます、入力チェック必須
>>660
良く読んで無いけど同じ文字列をeqで評価して真にならないなら
PERLかOSか機械が壊れてます。
0663nobodyさん
02/07/31 20:48ID:???改行って目に見えないんだよな・・・。
0664comeoneverybody
02/07/31 21:16ID:???なんか間違っているということですか?
ドキュメント読んで出直します。
一応、パスワード入力+アクセス制限+外からアクセスできないディレクトリ
とか使って、セキュリティには気をつけてます。
0665comeoneverybody
02/07/31 21:47ID:???ひらめいたぽ
0667nobodyさん
02/07/31 21:54ID:6r/wlS/6それとそのライブラリ、そのまま使うと何でも通すので
多分攻撃されます($form{$my})
0668630
02/07/31 22:04ID:???プライベート変数myをifで囲んでいたためifから出たら空になってました
1回printで出力してみたのですがそのとき運悪くifの中にコーディングしたため
ちゃんと表示されてしまったということでした。
答えてくださった方ありがとうございました。>>627さんので当たりでした。
0669comeoneverybody
02/07/31 22:06ID:???ありがとうございました。
@files=(@files,"../aa/$form{$my}.txt');
これでやってみようと思います。
キタ━━━━━(゚∀゚)━━━━━!!!!
解決しました。
本当にありがとうございました。
0670nobodyさん
02/07/31 22:32ID:afTQxJxlりゃま本、らくだ本、その他、
初心者向けの古本探して買おうかと思っていますが
最新版でなくてもよいでしょうか?
0671nobodyさん
02/07/31 22:33ID:oq+m6OUNそれでは、<br>を改行コードに戻したい時は「\n」に置き換えれば
あとはどのOSで見ても勝手に改行してくれるという事ですよね?
0672nobodyさん
02/07/31 23:02ID:???古本屋にラクダ本がある素敵な場所があるなら教えて欲しいわ!(w
すれ違いなんで↓いきなさい
http://pc.2ch.net/test/read.cgi/php/988809842/
最新版じゃなくていいだろうが、、ラクダ2版は死んでも買えよ。
0673nobodyさん
02/07/31 23:03ID:???改行されるに決まってるだろ。
それとも誰かにその事の補償でもさせたいのか、裁判官みたいだな
0674670
02/07/31 23:25ID:???誘導ありがとうございます。
らくだ2版っと、メモメモ・・・
親に駄々こねて、買ってもらおうとしたら受験生なので却下されますた。
こんど、参考書を買うと騙してらくだ本買うように企んでいます(藁
お金欲しい・・・・
0675nobodyさん
02/08/01 00:24ID:???$row_data{'NAME'} = $name;
$row_data{'NICKNAME'} = $nickname;
$row_data{'NICKNAMES'} = \@nicknames;
push(@loop_data, \%row_data);
HTML::Templateのループネストって、普通でもややこしいのに、
もっと見通しの良い変数名を使ってホスィぞ。(外と内で同じ
%row_data を使ってるとか)
0677nobodyさん
02/08/01 04:41ID:???ありがとうございます!!
ただ、>>629をループ処理すると、@loop_dataの中身はうまく表示されるんですが、
@nicknamesの部分は最後に入れたハッシュだけが適用されるようですね…
つまり、BobbyやHe-Manの部分をループ毎に変えても、結局最後に入れたハッシュの内容が
全てのNICKNAMESの部分に表示されると・・・。
0678nobodyさん
02/08/01 07:48ID:M7oaAkIZこの意味がおわかりになる方いらっしゃいますか?
おそらく、telnet経由でread cgiにアクセスし、logから住人のアクセス情報を
出すということを言っているのだと思うのですが、実際現在そのようなことはできるのでしょうか?
http://tmp.2ch.net/test/read.cgi/mog2/1028122076/30-59
0679nobodyさん
02/08/01 08:52ID:???2ch全体でログ取ってすらいない。
何か起きたときだけ、緊急に取る。
0680nobodyさん
02/08/01 09:00ID:???windowsしかなくてunixやmacで試せないから聞いてるんだよ。
お前はプログラムしか能のない馬鹿か?
論理的に理解できてるならそれぞれの環境で試さなくてもわかるんだろうが
俺はお前のように論理的にわからないからいちいち自分で試せないことは聞いてるんだよ。
こんなことわざわざ説明しなきゃいけないなんて、だからプログラマー同士って良く対立してるんだね。
わかったら、KENTのlight.cgiはなぜ\rで置き換えているか説明しろ。
0681nobodyさん
02/08/01 09:45ID:???Windowsで試せばいいと思うが。
\nがUNIXでちゃんと表示されるのは当たり前。
\nがWinでOKならMacでもOKだろうと推測する頭を持て。
>KENTのlight.cgiはなぜ\rで置き換えているか説明しろ。
KENTがマカーだからだよ。
改行コードはどれにしてもIEやネスケではちゃんと表示される。
サーバがUNIX系ならUNIXの改行コードを使うのがいいんじゃないかということだな。
0682nobodyさん
02/08/01 10:55ID:xj2aK3qvまず、論理的にわかるように努力しる! 個別に試してうんぬんなんて
無駄なこと。KENTがどうのなんて気にするな。人気があるのはイイ
スクリプトを書いているからじゃない。
0683nobodyさん
02/08/01 11:22ID:???まぁまぁ。マターリしようYO。
そのテキスト形式のログを<pre>で囲んじゃ駄目なのか?
まともなブラウザなら改行コードにかかわらず表示できるYO。
0685nobodyさん
02/08/01 12:46ID:???ああ、妄想ファンタジーに突入してるんか
>KENTのlight.cgiはなぜ\rで置き換えているか説明しろ。
教えて欲しいならコード書け、KENTて誰だ?
まあ推測して書くと、そいつが馬鹿だからだな
perlの改行コードは\nなの、OSがUNIXだろうがマクだろうが
朝鮮人参だろうが関係無い
馬鹿以外の人間はんな事使って3日で気付くんだよな
馬鹿が馬鹿を見本に馬鹿なやり方で馬鹿妄想するから
普通の人間からドンドン遠ざかって行くんだよ
http://natto.2ch.net/denpa/
0686nobodyさん
02/08/01 12:47ID:???お前は根本的に社会生活に問題が有ると思うね
0687nobodyさん
02/08/01 12:57ID:???>>680よこれを読め!!!
http://www2.gol.com/users/slowhand/kilmac/kilmac_i97.htm
0688nobodyさん
02/08/01 13:44ID:???厨な質問なのですが、よろしければ答えてくださいです
SSIでデータをちょこちょこと処理させようとしたりしたときに
1HTML(?)中に2〜3回SSIを使ってたりすると処理の順番はどうなるのでしょうか?
↑から順に実行>完了されるのでしょうか
それとも↑から実行されて、完了しないうちに2番目のが実行されたりするのでしょうか
どうかご教授ください、宜しくお願いします
0689nobodyさん
02/08/01 14:30ID:???http://www.sankeipro.co.jp/male/kent_.htm
世界丸みえとかに良く出てるけど知らない?
プログラムやるのもいいけどたまにはテレビも見ようよ。
0690nobodyさん
02/08/01 16:29ID:???http://images.google.co.jp/images?q=KENT&hl=ja&lr=lang_ja&ie=UTF-8&inlang=ja&sa=N&tab=wi
0691nobodyさん
02/08/01 18:52ID:zZ0lPm5tjpeg画像をCGI_Lite.pmを利用してアップロードするCGIをperlで作成しているのですが、
アップする際に、アップされるファイルがjpegファイルかどうかを確認する方法が
わかりません。
拡張子で確認する以外の方法があれば教えて下さい。よろしくお願いします。
0692nobodyさん
02/08/01 18:57ID:PoaI42Wkport5.comにアクセスログ取得スクリプト設置したんだけど
htmlのソースにSSIのコメント<!--#exec cmd="..."-->ってやつが
ばっちり表示されてる。でもCGI/SSIは動いている模様。
これは普通のことなのですか?
ちなみにhypermartにも同じスクリプト置いてるけど、
こっちは表示されてないです。
0694nobodyさん
02/08/01 19:29ID:???がJPEGの先頭のバイナリ。(たぶん。バイナリエディタで自分の持ってるJPEG画像開いて確認してくれ)
これが先頭にあるかを見る。
0695692
02/08/01 19:55ID:PoaI42Wkですよね〜
やっぱりSSIは動作してないかも、です。
でもCGI自体は動いているみたいで自分のアクセスしたログが
記録されてた。SSIが 使えないとダメなスクリプトのはずなのに、
なんでだろう・・・なんか混乱しちゃってます・・
0696nobodyさん
02/08/01 20:02ID:???port5.comがどういうところか知らないけど、そこのSSIではexecは許可されてるの?
0698692
02/08/01 20:43ID:???あ、多分解決しました。
port5.comはよく落ちるってことでレンタル鯖板ではすこぶる評判が
良いです。FAQのCGIのセクションばかりみていたんですけど、
他のところにSSIの説明ありました。回答して下さった方ありがとうございました。
0700nobodyさん
02/08/02 00:44ID:Sqea3lxU拡張子なんてアテになんないから、691は拡張子以外で、って書いてるんだろ
0702675
02/08/02 02:27ID:???スマソ、いまいち元データと完成後の画面イメージが掴めんので、
事情が理解出来ないのだが、原理的にはこんなんで行くはずだが。
実際には@name0と、@name1は、リファレンスを使用したレコード
構造とかにする必要が有るだろうけど。
foreach my $name (@name0){
foreach my $nickname (@name1) {
my %nickname;
$nickname{NICKNAME} = $nickname;
push(@nicknames, \%nickname);
}
my %name;
$name{NAME} = $name;
$name{NICKNAMES} = \@nicknames;
push(@loop_data, \%name);
}
$tpl->param(ROW => \@loop_data);
<TMPL_LOOP NAME=ROW>
<tr><td><TMPL_VAR NAME=NAME></td><td>
<TMPL_LOOP NAME=NICKNAMES>
<TMPL_VAR NAME=NICKNAME>
</TMPL_LOOP>
</td></tr>
</TMPL_LOOP>
0703nobodyさん
02/08/02 06:04ID:Q2JtjWGI処理がこっちに帰って来ないのが不便でかないません.
外部プログラムを別プロセスで起動させることは出来ますか?
0705nobodyさん
02/08/02 10:32ID:HalM3U4I0706nobodyさん
02/08/02 10:43ID:???0707nobodyさん
02/08/02 11:05ID:???exec ですと、perl スクリプトが終わるので処理は返ってきません。
system ですと、forkしますから、別プロセスになります。
私は、
外部プログラムをperlの中から呼ばない
どうしても外部プログラムを使わないとダメな時は、そのためのシェルスクリプト
をperlに吐かせ、それを実行
するようにしてます。
0709nobodyさん
02/08/02 13:30ID:8kGCovezあれってどうやってるんでしょうか?
(アップした画像を縮小してるんじゃなくて、小さな画像を自動的につくる)
0711nobodyさん
02/08/02 15:01ID:???<input type="checkbox" name="hoge" value="A">A
<input type="checkbox" name="hoge" value="B">B
cgi----------
@hoge = $FORM{'hoge'};
foreach $value (@hoge){
print "$value";
}
チェックボックスの値を受け取りたいんですけど、AとB両方チェックしても
Aしか受け取れません。やり方間違ってますか?
0712nobodyさん
02/08/02 15:03ID:???間違ってる。
nameを変えないとどちらかが上書きされる。
0713nobodyさん
02/08/02 15:09ID:Blzo1x52チェックボックスの数は変動するんでnameを別にするとしたら
わざわざ適当な名前+連番とかで付けなきゃいけないって事ですかね。
0714nobodyさん
02/08/02 15:10ID:???0715nobodyさん
02/08/02 15:14ID:???<input type="checkbox" name="hoge2" value="B">B
....
仮に連番でチェックボックスを生成しても、今度値を受け取る時
その数だけ
$hoge1 = $FORM{'hoge1'};
$hoge2 = $FORM{'hoge2'};
...
ってあらかじめ何個も用意しておかなきゃいけないんでしょうか。
(掲示板の投稿削除で管理者は一気チェックして消せるみたいな感じにしたいんです)
0716nobodyさん
02/08/02 15:21ID:???0717nobodyさん
02/08/02 15:32ID:???頭固い?
for(my$i=1;$i<=$last_number;$i++){
push(@hoge,$FORM{"hoge$i"});
}
とかで回せば楽だろう。
0718nobodyさん
02/08/02 15:33ID:???0720nobodyさん
02/08/02 15:42ID:???0721nobodyさん
02/08/02 15:52ID:???hoge=A&hoge=B&hoge=C・・・・
上書きはされないで送られる。
読み込むときに
$count = 0;
my @pairs = split(/&/,$buffer);
foreach $pair (@pairs) {
my($name,$value) = split(/=/,$pair);
if($name eq 'hoge') {
$hoge[$count] = $value;
$count++;
}
}
と配列に読み込むようにする。
0723nobodyさん
02/08/02 19:34ID:???0724712
02/08/02 20:41ID:???取得する時に変える方法は思いつかなかった。
どうせcgi-lib.plかなにかで取得させてるんだろうと思ったし
言っても分からないだろうから、下手に混乱させる必要もないかなと。
>721の発想出ないなんて、確かに頭固くなってて恥ずかしいね。
0726nobodyさん
02/08/02 23:15ID:+4MGC8XT2 こんな風にやってみた。
s/(\W)/'%'. (unpack(H2, $1))/eg;
s/%([a-fA-F0-9]{2})/pack(H2, $1)/eg;
3 いや、ふつうに動きますが、いくつか CGI の掲示板
Perl のスクリプトを公開しているサイトを拝見させて
頂きましたが、圧倒的に以下の様なスクリプトが幅を
利かせています。
s/(\W)/sprintf('%%%02X', unpack(C, $1))/eg;
s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
"C" で pack or unpack するメリットと、
"H2" で pack or unpack するデメリットを伺いたいのですが。
てゆーか "H2" のが効率良さそうな気がするのですが。
0727nobodyさん
02/08/02 23:23ID:???RFCでCの方が書かれて
Cの方を使う人が多い。しまっていたから
0728726
02/08/02 23:31ID:???アリガトゴザイマス
RFC が解りません。
今調べてますが、差し支えなければ教えて下さい。
0729nobodyさん
02/08/02 23:43ID:???http://www.se.hiroshima-u.ac.jp/~isaki/rfc/list.html
インターネットの標準を定めている文書、といっても過言ではない。
たしかURIエンコードの項目に pack("C", hex($1)) が書かれてた。
0730728
02/08/02 23:49ID:fhO9IRlhありがとうございますです。
非常に参考になりました。
0731nobodyさん
02/08/03 00:24ID:4FNUCrqfFORMで打ち込んだ内容をテキストに保存するCGIを作ってます。
#!/usr/local/bin/perl
print<<"EOM";
<form action="./test.cgi" method="POST">
<input type=text name=sub size=50 value="$naiyou">
<input type=submit value="送信する">
</form>
EOM
open(OUT,">> log.txt");
print OUT "$naiyou";
close(OUT);
すいませんアドバイスお願いします。
0732nobodyさん
02/08/03 00:29ID:???とりあえず、送られてきたデータを受け取れ。
話はそれからだ。
#!/usr/bin/perl
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
@pairs = split(/&/,$buffer);
foreach $pair(@pairs){
$value =~ tr/+/ /;
$value =~ s/%([0-9a-zA-Z]{2})/pack("H2", $1 )/eg;
$FORM{$name} = $value;
}
print<<"EOM";
<html>
<form action="./test.cgi" method="POST">
<input type=text name=sub size=50 value="naiyou">
<input type=submit value="送信する">
</form>
</html>
EOM
open(OUT,">>log.txt");
print OUT "$FORM{'sub'}";
close(OUT);
exit;
__END__
0733730
02/08/03 00:34ID:???2 "$/" INPUT_RECORD_SEPARATOR に "\n" を代入(する必要は多分無い)
"\r\n" を <br> に変換し "\r" "\n" を削除する。
"\r" をセパレータにしてデータを書き込む。
だいたいこんな感じ。
while($i < $log_countmax}){
foreach(keys(%TMP)){$line .= "$_=$TMP{$_}\r";}
push(@lines, $line);}
読み込み時には split にリミットを指定する事で文中の "=" は無視できる。
($key, $value) = split(/=/, $_, 2);
3 少ない環境での動作チェックはしましたが、同様の処理をしている
スクリプトを見かけないので、なんとなく不安が残ります。
何か問題点が有りそうでしたら、ご指摘下さい。
もちろん上記スクリプトは、意味が分かる程度に簡略化した物で動きませんよ?
0734731
02/08/03 00:43ID:4FNUCrqfありがとうございます!
でもサーバーエラーがでます。
なぜだろう・・ちゃんとパスやパーミッションも合ってるのに。
0735732
02/08/03 00:46ID:???一応、データの受け取りはよく使われる。
↓こんなのが。
sub read_form {
local($pair,$buffer);
if($ENV{'REQUEST_METHOD'} eq 'POST'){
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
}elsif($ENV{'REQUEST_METHOD'} eq 'GET'){
$buffer = $ENV{'QUERY_STRING'};
}
local(@pairs) = split(/&/,$buffer);
foreach $pair(@pairs){
local($name,$value) = split(/=/,$pair);
$value =~ tr/+/ /;
$value =~ s/%([0-9a-zA-Z]{2})/pack("H2", $1 )/eg;
$FORM{$name} = $value;
}
0736nobodyさん
02/08/03 00:51ID:???を忘れてたからだ。
print<<"EOM";
のあとに
Content-Type: text/html<改行>
<改行>
入れてみて。
0737nobodyさん
02/08/03 00:55ID:???の直後に
local($name,$value) = split(/=/,$pair);
も忘れてた。
回線切って首(略
0738731
02/08/03 01:07ID:4FNUCrqf表示できました。
でも送信してもlog.txtに書き込まれないみたいです。
もうちょっとからかってみます。
0739nobodyさん
02/08/03 01:10ID:???漏れはからかわれていたのかΣ(゚д゚lll)
0740731
02/08/03 01:13ID:4FNUCrqfいやそういう意味じゃないです!すいません。
自分でcgiをからかうという意味です。
変な言い方ですいません。
0741nobodyさん
02/08/03 01:20ID:???#!/usr/bin/perl
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
@pairs = split(/&/,$buffer);
foreach $pair(@pairs){
local($name,$value) = split(/=/,$pair);
$value =~ tr/+/ /;
$value =~ s/%([0-9a-zA-Z]{2})/pack("H2", $1 )/eg;
$FORM{$name} = $value;
}
print<<"EOM";
Content-Type: text/html
<html>
<form action="./test.cgi" method="POST">
<input type=text name=sub size=50 value="naiyou">
<input type=submit value="送信する">
</form>
</html>
EOM
open(OUT,">>log.txt");
print OUT "$FORM{'sub'}";
close(OUT);
exit;
__END__
0742731
02/08/03 01:30ID:4FNUCrqfできました。
すごい勉強になりました。
感謝!
0743nobodyさん
02/08/03 06:08ID:???$value =~ s/%([0-9a-zA-Z]{2})/pack("H2", $1 )/eg;
これはいったいどういう処理をしているのでしょうか?
0744nobodyさん
02/08/03 08:11ID:yBArvQmy自分の所に携帯が無いのでどこを気をつけていいのか教えて頂けませんでしょうか?
Googleで6時間以上探し回っているんですがヒントすら見つかりません。
どなあたかご教授お願いします。
0745743
02/08/03 09:10ID:???s/%([0-9-zA-Z]{2})/pack("H2", $1 )/eg;
というのは %12 や %a7 などにマッチさせて
pack("H2",$1)というのに変換するということはなんとなくわかるんですが
このpack("H2",$1)というのは具体的に何をしているのか解説しているサイト
ないでしょうか?もしくはどなたか答えてくれる方いましたらよろしくお願いします。
0746nobodyさん
02/08/03 09:36ID:f5spmMMH携帯電話のローカルな情報をアップロードするって話なの?
どこに気をつけるとかいう以前にできるか否かは検討したのか。
>>745
perldoc -f pack すると
H A hex string (high nybble first).
とあるよ。
0747nobodyさん
02/08/03 10:09ID:y5M4ReYwhttp://www.goo.ne.jp/default.asp?MT=perl+pack&act.search=%A1%A1%B8%A1%BA%F7%A1%A1&top=gtop&_v=2
0748nobodyさん
02/08/03 12:08ID:???こちらの作ってるスクリプトもそれと同じような構造なのですが、
どうも自分のやろうとしている事はレコードを使わないといけないようですね。
ただ、検索してもレコードやリファレンスの構造がいまいちよく分からないんで、
HTML::Template以外の方法を使うことにします。
それほどこのモジュールにこだわる必要もないんで・・・もうしわけない。
0749nobodyさん
02/08/03 20:59ID:???Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)
このようなエージェントを利用して使用ブラウザと使用OSを取得したいと考えています。
例えば上の場合だと
$browser = "IE 5.5";
$os = "Windows XP";
というような感じに代入させたいのですが。。
0752nobodyさん
02/08/03 21:54ID:???http://www.futomi.com/subroutine/ua.html
0753nobodyさん
02/08/04 01:18ID:8/YQ8REXフォームメールでローカルに有るファイルを添付させたいのですが、上手く出来ません。
送信したときにローカルファイルをサーバー上に一時ファイルでローカルファイルの
コピーを作成できないみたいなのです。
名前だけの空っぽのファイルができてそれが添付されてメールが届きます。
どうしたらファイルのコピーが作れるのでしょうか。
どなたかよろしくご教示ください。
0754nobodyさん
02/08/04 01:26ID:???0756755
02/08/04 01:36ID:FrE7nmXKまったく反映されず、どこが悪いのかも分かりません。
ご指摘お願いします。
0757756
02/08/04 01:37ID:FrE7nmXKif ($ENV{'REQUEST_METHOD'} eq "POST") {
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
}
else {
$buffer = $ENV{'QUERY_STRING'};
}
$i = 0;
@pairs = split(/&/,$buffer);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$name =~ tr/+/ /;
$name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
0758756
02/08/04 01:37ID:FrE7nmXK&jcode'convert(*name,'sjis');
$value =~ s/</</g;
$value =~ s/>/>/g;
$value =~ s/\r\n/<br>/g;
$value =~ s/\r/<br>/g;
$value =~ s/\n/<br>/g;
$value = $form{$name};
$name = $form{'name'};
$comment = $form{'comment'};
@num[$i]=$value;
$i=$i++;
}
0759nobodyさん
02/08/04 01:45ID:???0760756
02/08/04 01:47ID:FrE7nmXK知りませんでした。
スイマセン
0761753
02/08/04 01:55ID:8/YQ8REX下に書いてあるふうに、ファイル名を取得して空の同名のファイルをサーバ上の
指定したフォルダに作成してるんですが、その作ったファイルの中にデータを書き
こめないんです。
どうしたら良いかご教示いただけないでしょうか。
$filename = $FORM{$tenpu};
$c_type = 'Content-Type';
@tmp = split(/\\/, $filename);
$tmpfile = pop(@tmp);
$file_path = "./mail_tmp/$tmpfile";
open(OUT, ">$file_path");
while($tmp_byte=read($filename, $buffer, 1024)) {
print OUT $buffer;
}
close(OUT);
0762nobodyさん
02/08/04 02:16ID:???&jcode'convert(*value,'sjis');
&jcode'convert(*name,'sjis');
これは必要か? サーバ環境は?
0763nobodyさん
02/08/04 02:21ID:???$file_path = "./mail_tmp/$tmpfile";
$tmpfile に値ある?
mail_tmp のパーミッションは?
0764753
02/08/04 02:33ID:8/YQ8REXすみません、値というと・・・?
mail_tmpのパーミッションは777です。
0766753
02/08/04 02:40ID:8/YQ8REXこの空っぽのファイルが添付されて送られてきてしまいます。
0768753
02/08/04 02:55ID:8/YQ8REXif ($ENV{'REQUEST_METHOD'} eq "POST") {
read(STDIN,$buffer,$ENV{"CONTENT_LENGTH"});
}else{
$buffer = $ENV{'QUERY_STRING'};
}
@pairs = split(/&/,$buffer);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s/&/&/g;$value =~ s/"/"/g;$value =~ s/\,/,\;/g;
$FORM{$name} = $value;
}
です。
それで761の処理以降はsendmailの処理になってます。
サブジェクトや添付ファイルのエンコードとかもそこでやってます。
0770753
02/08/04 03:03ID:8/YQ8REXもう1回やりなおしてみます。本当にありがとうございました。
0772クッキーのオンオフ
02/08/04 16:22ID:???ユーザー環境でクッキーのオンオフを確認し、
クッキーオフならhidden属性を表示しないようにしたいのですが、
クッキーのオンオフをその場で見極める方法などはありますでしょうか?
自分ではヘッダ情報でクッキーを書き出してから、$ENV{'HTTP_COOKIE'}で
再取得できればクッキーオンだと確認できると思っていたのですが、
クッキーを記録したその場では$ENV{'HTTP_COOKIE'}が更新されないようで
上手くいきませんでした。
クッキー保存と読み込みを別スクリプトで行なえばいいのですが、
それだとサーバーへのアクセスも増えますし、訪問者の人の
手間も増えてしまいます。
クッキーのオンオフをその場で確認する方法、
もしくは$ENV{'HTTP_COOKIE'}の再読み込みをする方法を
ご存知な方がいらっしゃいましたら、どうかご教授ください。
よろしくお願いします。
0773apholist
02/08/04 21:57ID:DUVpmc74いくつかのCGIで初期表示のあと、更新しようとすると
couldn't create child process: 22:
couldn't spawn child process:
というようなエラーが表示されます。何が原因だと
考えられますか?
0774nobodyさん
02/08/04 22:01ID:???UNIX専用の関数とか使ってない?
0775apholist
02/08/04 22:06ID:DUVpmc74あるかも。調べる方法ってあります?
0776apholist
02/08/04 22:27ID:DUVpmc74他にもありますか?
なかなかまとまったページがないっす。
0777nobodyさん
02/08/04 22:29ID:???どのプラットフォームでも動くようなCGI使えや。
0778apholist
02/08/04 22:49ID:DUVpmc74難しいこと言うなぁ。簡単なことなのか?
どのプラットフォームでもっていうと、
チャット、掲示板、カウンターなどほとんどWinでは
難しいような気がするんだけど。
まあ、Winで作られたものならWinで動くんだろうけど。
とりあえず、forkチェックしてみます。
「とか」って言ってるけどなんで知ってるの?常識?
0779apholist
02/08/04 23:00ID:DUVpmc74Some functions that work on Windows NT/2000 reportedly do not work or are buggy on Windows 95. An example is flock().
Certain functions don't seem to work on ActivePerl.
There are several functions that are unimplemented in the ActivePerl system. Here is a complete list of unimplemented functions:
Functions for processes and process groups
alarm(), getpgrp(), getppid(), getpriority(), setpgrp(), setpriority()
Fetching user and group info
endgrent(), endpwent(), getgrent(), getgrgid(), getgrnam(), getpwent(), getpwnam(), getpwuid(), setgrent(), setpwent()
System V interprocess communication functions
msgctl(), msgget(), msgrcv(), msgsnd(), semctl(), semget(), semop(), shmctl(), shmget(), shmread(), shmwrite()
Functions for filehandles, files, or directories
link(), symlink(), chroot()
Input and output functions
syscall()
Fetching network info
getnetbyname(), getnetbyaddr(), getnetent(), getprotoent(), getservent(), sethostent(), setnetent(), setprotoent(), setservent(), endhostent(), endnetent(), endprotoent(), endservent(), socketpair()
See the perlport and Win32 documentation pages for more information on the portability of builtin functions in ActivePerl.
だって。コピペしないほうがよかったか?
0780apholist
02/08/04 23:29ID:DUVpmc740782apholist
02/08/05 00:02ID:vCl4cuclごく簡単なCGIなら動きます。
掲示板も普通の?は動いたけど、megabbsスクリプトで
スレ立て後、レスを書き込もうとすると同じエラー。
0783nobodyさん
02/08/05 00:12ID:???0785nobodyさん
02/08/05 00:17ID:mlKhZTXHファイルポインタを使って円の面積を計算するプログラム、教えてください。
ファイルポインタには半径1から10の数値があります。
出力結果は次のようになるようにして下さい
半径 面積
1
2
3
・
・
10
0786apholist
02/08/05 00:26ID:vCl4cuclえ?ヤヴァイ?
0787apholist
02/08/05 00:29ID:vCl4cuclネタ?厨?For文使うか一つずつ円周率3で計算すればいいんじゃない。
0789nobodyさん
02/08/05 00:40ID:???>>785 おめー殴らせろ
0790apholist
02/08/05 00:41ID:vCl4cuclマルチだったのか。Perlとか言語の区別もつかんとは
あわれな厨だな。俺よりアフォだ。
とりあえず、うごきますた。Apache2.039が悪かったみたい。
1.326にしたら動いた。
人柱になるのはもっとスキルみがいてからにします。
ご協力感謝。
0791nobodyさん
02/08/05 01:57ID:LdtViypmhogeという文字列を追加したい場合
どう書けばいいですか
0796nobodyさん
02/08/05 09:42ID:???$i=$i++;
はいかんよ
$a=0;
$b=$a++;
の場合は$a=1,$b=0.
$i=0;
$i=$i++;
なら$i=1,$i=0.どっちか分からん。
0797nobodyさん
02/08/05 10:21ID:???while(<>) {
next if !/_/;
s/^/hoge/;
}
ひとつの小難しい正規表現でやるのは嫌な人用。
0798nobodyさん
02/08/05 10:36ID:???よく見かけまずが、未だにperl4しか入ってないサーバばかりなんですか?
0799nobodyさん
02/08/05 11:28ID:???0800nobodyさん
02/08/05 11:37ID:7p5l2D2Kフォームメールでローカル上のファイルを添付して送信するスクリプトを作ったのですが、
パソコンのアウトルックではちゃんと添付ファイル付きのメールが受信できるのに
gooとかのウェブメールや、シグマリオンに付いているMPメールでは上手くいきません。
なにか違いでもあるんでしょうか。
どなたかご教示いただけないでしょうか。
0801nobodyさん
02/08/05 11:53ID:???0802nobodyさん
02/08/05 12:26ID:7p5l2D2Kgooでは件名、本文は正常に受信できて、添付の部分は本文にコードが書かれている状態です。
MPメールのほうは件名もiso-2022-jpと書かれていて、本文もcontent-type云々になってます。
パソコンのアウトルックで使うより、シグマリオンのMPメールで使う方が多いので困っています。
0803nobodyさん
02/08/05 13:47ID:???となってますか。
0804nobodyさん
02/08/05 14:55ID:???$ENV{'QUERY_STRING'}
の内容は1回目で無くなっちゃうんでしょうか。
うまくいかないんです。
そんなこたーないよ。コード見せてみ。
0806nobodyさん
02/08/05 14:59ID:???0807nobodyさん
02/08/05 16:02ID:???全体と載せるのは無理なんで説明します。
で、実は>721でやっているのをやりたいんです。
チェックボックスの値を配列で受け取るとういのを。
#usr/bin/なんたら
$FORM = &getparam; # パラメータ取得
$mode = $FORM{ mode };
if($mode eq "") { &main; }
〜モード判定〜
else { &error("不正なアクセスです。"); }
sub getparam{ # デコードサブルーチン
read( STDIN, $post, $ENV{ 'CONTENT_LENGTH' } );
@data = split(/&/,$post);
foreach $all (@data) {
($name,$value) = split(/=/,$all);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s/,/,/g;
$value =~ s/"/"/g;
$value =~ s/</</g;
$value =~ s/>/>/g;
$value =~ s/\r\n|\r|\n/<br>/g;
$value =~ s/<br</<br>/g;
$FORM{$name} = $value;
if($name eq "no"){
push(@nos,$value);
}
}
@FORM
0808nobodyさん
02/08/05 16:02ID:???sub main{
foreach $hoge (@nos){
print "$hoge";
}
}
こうやるんですけど、何も表示されないんですね。
@FORMの配列しか受け取れていないんでしょうか。
最後の値を返り値にするから。
なんで
if($name eq "no"){
push(@nos,$value);
}
@nosの値を受け取るためだけのデコードルーチン作ったんですけど
それでもうまく値が返ってこないんですよね。
0810nobodyさん
02/08/05 16:19ID:???$ENV{ 'CONTENT_LENGTH' } でも値がなくなるこたーないよ。出力させてみ。
でも標準入力からは1度しか読み込めない。
0812nobodyさん
02/08/05 16:22ID:???0814nobodyさん
02/08/05 16:29ID:???そのソースは、記念に以下のスレにカキコしといてよ。
http://pc.2ch.net/test/read.cgi/php/1028052835/l50
0816nobodyさん
02/08/05 18:23ID:???_ _ .' , .. .. .' ∧_∧
∧ _ - ― = ̄  ̄`:, .∴ ' ・,‘∴ , . ( ) ←>>814
, -'' ̄ __――=', ・,‘ r⌒> _/ /
/ -―  ̄ ̄  ̄"'" . ’ | y'⌒ ⌒i
/ ノ | / ノ |
/ , イ ) , ー' /´ヾ_ノ
/ _, \ / , ノ
| / \ `、 / / /
j / ヽ | / / ,'
/ ノ { | / /| |
/ / | (_ !、_/ / 〉
`、_〉 ー‐‐` |_/
0817nobodyさん
02/08/05 18:24ID:???∧_∧ _ _ .' , .. .∧_∧
( ´_ゝ`) _ .- ― .= ̄  ̄`:, .∴ ' ( >>815)
/ '' ̄ __ ヽ´=', ・,' r⌒> _/ /
/ /\ / ̄\-―  ̄ ̄  ̄"'" . ' | y'⌒ ⌒\
_| ̄ ̄ \ / ヽ \_ | / ノ |
\ ̄ ̄ ̄ ̄ ̄ ̄ \__) , ー' /´ヾ_ノ
||\ \ / , ノ
||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄ / / /
|| || ̄ ̄ ̄ ̄ ̄ ̄ ̄|| / / ,'
|| || .|| / /| |
!、_/ / 〉
0818802
02/08/05 20:15ID:???Content-Type: Multipart/Mixed;になっています。
もしかしてアウトルックはIEみたいに多少の間違いがあっても
上手いこと動いてくれてしまうんでしょうか・・・。
0819nobodyさん
02/08/05 20:16ID:???0820nobodyさん
02/08/05 21:37ID:TC4MSFf/書き込んでCGI上でリロードする際に、ページの下の方を表示したいんです。
表示と書き込みのCGIを分けて
書き込み側から
<META content=0;URL="read.cgi#sita" http-equiv=refresh>
こんな感じで飛ばしてみたんですが何故か#sitaが反映されません。
何かいい方法はないでしょうか。
0821nobodyさん
02/08/05 21:42ID:???書き込み後にLocationで飛ばせば?
0822nobodyさん
02/08/05 21:44ID:obWCEw8Y掲示板のログファイルを閲覧者からは見えなくしてCGIからだけ
読み込めるようにするにはどんなパーミッションにすればいいですか?
掲示板の削除キーが書き込んであるのが閲覧可能というのは、
やはりまずいかなと思いましてね。
いろいろ探したけどわからなかったので、知ってる方いたらお願いします。
まあ、ファイル名をわかりにくいものにする、などの方法はありますがね。
0823nobodyさん
02/08/05 21:50ID:TC4MSFf/やってみました。
print "Location:read.cgi\#sita\n\n";
こうですよね。
でもやっぱり#sitaは反映されないようです。
他に何か無いでしょうか…。
0824nobodyさん
02/08/05 21:57ID:???パーミッション変えるより、拡張子を.cgiにすれば?
>823
ページの読み込みが終わるまで待ってる?
その前にどこかクリックしたりすると移動しないことがあるよ?
あと、念の為に聞いておくけど、<a name=sita></a>で失敗していたりしないよね?
0825nobodyさん
02/08/05 22:06ID:TC4MSFf/>あと、念の為に聞いておくけど、<a name=sita></a>で失敗していたりしないよね?
そのとおりでした。穴があったら入れたいです。
ありがとうございました。
0826nobodyさん
02/08/05 23:12ID:???みんな仕事でやってるのか。
に、してはレベルが・・・。
0827m(__)m
02/08/05 23:25ID:7ewZSPimコミュニティサイトをしようかと思っているのですが、
メンバー表に登録するとクッキーが焼かれ、
掲示板などに書き込む時偽りができないようにできるスクリプトありませんか?
例を出すと、
http://daichanchi.com/
で利用しているようなものです。
よろしくお願いいたします。
0829nobodyさん
02/08/05 23:58ID:???>>827がたたかれるに1マルク
http://pc.2ch.net/test/read.cgi/php/1021897804/
0830nobodyさん
02/08/06 00:04ID:diugRf3e「writing」と表示されたのにかかわらず
if文の中が実行されません。
超初心者的なミスを犯していると思いますが、なにとぞご指摘ください。
ActivePerl: 5.6.0.620
Apache 1.3.24
Windows2000 +SP2
/* 以下 プログラム */
print "「$In{mode}」";
if ($in{mode} eq 'writing'){
print "hoge";
exit;
}
0832830
02/08/06 00:07ID:diugRf3eprint "「$In{mode}」";
if ($in{mode} eq 'writing'){
print "hoge";
exit;
}
本当は 「writing」hoge と表示して欲しいのに・・・
0833830
02/08/06 00:08ID:diugRf3eネタだと思われるようなミスなのですか(鬱)
どこがおかしいのか教えてください。
0834nobodyさん
02/08/06 00:09ID:???0835830
02/08/06 00:17ID:diugRf3e失礼しました〜っ
0836nobodyさん
02/08/06 00:21ID:???0837830
02/08/06 00:24ID:diugRf3ewritingはHTMLのフォームから渡されてきた物です。
mode=writing の時に書き込み処理をするようなBBSを
作っているのでした(笑)
こんな単純なことで3時間を費やした俺って一体(鬱)
そんなキミに-wスイッチとuse strict;をお勧めするよ。
慣れるまでちょっと時間は掛かるけど、
タイポによるつまらないバグが激減すること間違いなし!
0840art
02/08/06 10:10ID:a25IbhtN1.txt、2.txt・・という具合にファイルを生成したいんですが、
(1)テキストが保存されているディレクトリ内のファイルの数を調べ$prev内に代入
(2)*.txtの*をファイル数を$prev + 1にする。
(3)「($prev+1).dat」という名のファイルにする
という考え方でいいのでしょうか?
もし合っていればどういう風に書くかアドバイスして頂きたいのですが・・。
0841nobodyさん
02/08/06 10:19ID:???ナンバーを保存する別ファイルを作る。
0842nobodyさん
02/08/06 10:29ID:???0843nobodyさん
02/08/06 10:29ID:???0844843
02/08/06 10:30ID:???@hogeと@hage
これをさらに一つの配列にするしかないですか?
0846リファレンスを返す
02/08/06 10:38ID:???my ($hageR,$hogeR)=foo;
0847art
02/08/06 10:42ID:a25IbhtNナンバーを保存する別ファイルか・・
どうやるのですか
0848nobodyさん
02/08/06 10:52ID:???open(FIL,"a.txt");
$a = <FIL>;
close(FIL);
open(FIL,">a.txt");
print FIL ++$a;
close(FIL);
0849nobodyさん
02/08/06 10:56ID:???1:自分はこう言う事がしたい。
2:それでこんな風にやってみたが・・・
3:それだとこんなエラーが出て上手く行かなかった。
1と3が無いと誰も答えられないよ。
良い回答は良い質問から。一緒に勉強しましょう。
0850art
02/08/06 11:03ID:a25IbhtNなめてないよ。
そうじゃなくて、まずファイル生成する時にどうやってファイル名を
1.txt、2.txt、3.txt・・と増やして作ることが出来るかってこと。
0852art
02/08/06 11:09ID:a25IbhtN考えがまとまらなくなってしまって・・・・・。
>>840の方法だと、分かりやすいんですが
そうすると削除とか大変なんですよね。
0853nobodyさん
02/08/06 11:10ID:???0854art
02/08/06 11:11ID:a25IbhtNお願いします・・助けてください・・(笑)
0855nobodyさん
02/08/06 11:23ID:???$datという変数に代入するにはどうすればいいですか?
0856nobodyさん
02/08/06 11:30ID:yJuB6gJh合成ならカウンタとかでよく見かけるんですが、
分割はどうしてもわかりません。
たとえば500x500の画像を
100x100の5個に分割したりする方法です。
0857856
02/08/06 11:30ID:yJuB6gJh500x500
↓
500x100
まちがえたよー
0858nobodyさん
02/08/06 11:31ID:???投稿毎にファイルを生成するなら、ファイル名の数値を調べてインクリメントするが吉。
効率悪いし、メンテナンスしにくいと思うが。
0859nobodyさん
02/08/06 11:35ID:???もしくはGD.pm
0860856
02/08/06 11:39ID:yJuB6gJh画像を携帯から見ようと思うのですが、
当然機種によって表示できるサイズがちがうので、
表示させる段階で分割させたいのです。
厳密にいえば、
大きな画像の任意の一部を抜き出してブラウザに返すのがいいです。
なので、別に分割してファイルを複数つくる必要はないかもしれません。
GD.pmってモジュールですよね?
まだモジュール使ったこと無いので緊張しますが
ちょっと調べてきます。
0861nobodyさん
02/08/06 12:53ID:3j+94g7Zってやるとエラーが出るんですけど、どうすればいいでしょうか?
0862nobodyさん
02/08/06 13:15ID:???0864nobodyさん
02/08/06 13:23ID:xsMd1/x0掲示板が沢山あり、ログファイルが沢山ある場合、
したの処理を、ログファイルの個数だけ書かないといけないのでしょうか?
良い方法が思いつきません
どうすればよろしいのでしょうか?
#!/usr/local/bin/perl
$file1="log.txt";
$a=(stat($file1))[9];
($x,$mm,$h,$d,$m,$y,$x,$x)=localtime($a);
$m++;
print "Content-type: text/html\n\n";
print"掲示板の更新日は$m/$d $h:$mm";
0867nobodyさん
02/08/06 13:57ID:???@list = <DIR>;
closedir DIR;
@CON = grep { /^*.\.txt$/ } @list;
$dat = $#CON;
0868nobodyさん
02/08/06 14:00ID:???0869nobodyさん
02/08/06 14:00ID:???それだと1個足らなくない?
0872nobodyさん
02/08/06 14:12ID:???出力すると「-1」って出てきたんすけど・・
1個少ないんだったら変数に1足しても問題ないですかね?
>>870
簡単に言わないでよ
0873nobodyさん
02/08/06 14:48ID:xsMd1/x0ありがとうございます。
配列に入れて回したのですが
08/06 14:07 メイン掲示板
08/06 14:09 雑談掲示板
・
・
と出力されるのですが、新しいモノが上に来るようにソートするにはどうしたらよいでしょうか?
print "Content-type: text/html\n\n";
foreach $c (1..$q) {
$access=(stat($file[$c]))[9];
($x,$min,$hour,$mday,$mon,$x,$x,$x)=localtime($access);
$date = sprintf("%02d/%02d %02d:%02d",$mon+1,$mday,$hour,$min);
$sort="$date $name[$c]<BR>\n";
push(@new,$sort);
}
@new = sort { (split(/<>/,$b))[6] cmp (split(/<>/,$a))[6] } @new;
print @new;
0874nobodyさん
02/08/06 14:52ID:???の部分は
$sort= "$date<>$name[$c]<><BR>\n";
でした
0877nobodyさん
02/08/06 16:14ID:32Vwa5NBmy %file2mtime;
@file2mtime{@file} = map{ (stat($_))[9] } @file;
foreach my $file (sort{ $file2mtime{$a} <=> $file2mtime{$b} } @files) {
print $file, "\n";
}
0878nobodyさん
02/08/06 18:57ID:+CLAZ6EKcgiからの出力を、ブラウザの戻るボタン押下時に意図的にリ
ロードさせたいだけなんですが。。。
<%
Response.AddHeader "Expires", "0"
If Request.ServerVariables("SERVER_PROTOCOL") = "HTTP/1.0" Then
Response.AddHeader "Pragma","no-cache"
Response.CacheControl = "no-cache"
Else
Response.CacheControl = "no-cache"
End If
%>
とか
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="-1">
とか
試したんですが無理でした。
誰かよろしくお願いしますっ!
0880nobodyさん
02/08/06 19:29ID:???ttp://pc.2ch.net/test/read.cgi/php/1025930486/444
マルチポスト氏ね
0881878
02/08/06 19:36ID:+CLAZ6EKPerl cgiです。。
formにオブジェクトを埋め込めないため、ノーキャッシュ
で制御しようとしてるんですが、IEではうまく動かないん
で、どなたか経験者がいらっしゃたらなぁと。
>>880
答えれねぇんなら出てくん名ぼけが
0882nobodyさん
02/08/06 19:41ID:???向こうのスレでレス返してやってるのは俺なんだがな。
マルチポスト氏ね。
0883878
02/08/06 19:49ID:+CLAZ6EKおおそうか。ならあのページにかかれてある事が
上のソースでやってる事もわかってて書いたんだろうな。
まったく、大変有意義なレスだよな。
ぷ。
0884nobodyさん
02/08/06 19:55ID:???おまえブラウザて何処で動いてるか知ってる(ププp
何か思いっきりスレ違いだし、
カタワって可哀相だねppp
0885nobodyさん
02/08/06 19:57ID:???マルチポストするようなヤツぁ何をやっても駄目。
0886878
02/08/06 20:03ID:+CLAZ6EKクライアントにきまってんだろがぼけ。
クライアントで動くソース投げ店のがサーバのPerl cgiなんだよ。
あっそうか、Perlつかってcgi作った事のない人だったんだ。
ごめんねぇ。。unixとPerlという閉ざされた世界しか知らないんだ。
かわいそうにねぇ・・・・・・。
あ〜〜、いいこいいこ(* T-)ヾ( ̄▽ ̄;) ヨシヨシ w
0887nobodyさん
02/08/06 20:06ID:???> クライアントで動くソース投げ店のがサーバのPerl cgiなんだよ。
お前がやってるのは VBScript ASPだろ
なんでPerlのスレに書くんだよ。
顔真っ赤にして捨て台詞書くなよ、みっともない・・・
0888878
02/08/06 20:17ID:+CLAZ6EKしかしサンプルで書くときはどんな言語でも書くだろうに・・・。
近くにあるライブラリからもってくるんだからさぁ。
まぁ俺がPerlで書かなかったのが悪かったな。
わりぃわりぃ。
Perlしかしらねぇんだもんな。
0889nobodyさん
02/08/06 20:20ID:???0890マジレス
02/08/06 20:23ID:???つーかサンプルも糞もあるかよ、ここはPerlスレだ。
あとCGIとASPの違いが分からんアホも逝ってよし。
0891nobodyさん
02/08/06 20:26ID:???/ \ ________
/ ∧ ∧ \ /
| ・ ・ | < 氏ねよおめーら
| )●( | \________
\ ー ノ
\____/
0892nobodyさん
02/08/06 20:26ID:???/ \ ________
/ ∧ ∧ \ /
| ・ ・ | < おう、呼んだか?>>889
| )●( | \________
\ ー ノ
\____/
0893878
02/08/06 20:31ID:+CLAZ6EKsub printhtml{
my($htmlbody,$mime)=@_;
my $nc="\n"
.'<meta http-equiv="Pragma" content="No-Cache">'
.'<meta http-equiv="Cache-Control" content="No-Cache">'
.'<meta http-equiv="Expires" content="Monday, March 01, 1999 00:00:00 AM GMT">';
&Jcode::convert(\$htmlbody,'sjis');
&Jcode::convert(\$::debug,'sjis');
if($::isnocache){
print $cgiutil::httpheader_nc;
$htmlbody=~s/\<head\>/<head>$nc/;
}else{
print $cgiutil::httpheader;
};
print $htmlbody;
if($::isdebug){print "<h4>DEBUG START</h4>\n".$::debug;};
1;
};
ってやってるんだが、IEのcashに残る。
でもこれはPerlの文法とかじゃねぇから、わっかんねぇな。
スレ違いスマソ
0894nobodyさん
02/08/06 20:31ID:+On492A+0895nobodyさん
02/08/06 20:52ID:???cgiutilパッケージの中身は分からんは $htmlbodyの中身は分からんは、、、
とりあえずDOSプロンプトかShellで試して出力結果のヘッダに
Pragma: no-cache
Cache-Control: no-cache
<head>〜</head>に
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="co-cache">
が含まれてるか見てみれ
>>894
http://search.cpan.org/
0896878
02/08/06 21:29ID:+CLAZ6EK色々スマソ。
HTTPリクエストにもhtmlにも含まれてます。
で、理由としては隠し属性項目でイベントを保存していたため、
戻るで戻ってこられるとイベントが初期値ではなくなっていたためなんですよ。
で、リロードをかけさせるために有効期限とキャッシュレスにしようとしてい
たんですがうまくいかなかったもので。。
java-scriptでリロード時に強引に書き換えるようにして対応しました。
本来リロード時のイベントが、ボタン押下時のイベントを知っているわけ
ないんですが、これしかうかびませんですた。
スレ違いにもかかわらず、申し訳ありませんでした。
それはZIP圧縮?
0898Piano
02/08/06 23:37ID:???降順で表示させようと
reverse sort (@count);
で実行すると、
9
9
8
7
4
2
16
・・と、なぜか16が最後に来てしまいます。
どなたか分かる方いらっしゃいませんか?
0899nobodyさん
02/08/06 23:41ID:Fh8h+3RQreverse sort {$a <=> $b} @count
で、どうでしょ。チェックしてないけど。
0903899
02/08/06 23:51ID:Fh8h+3RQ0904
02/08/07 00:24ID:ulRsWHQgはないでしょうか?
御存じの方、教えてください。お願いします。
0905nobodyさん
02/08/07 00:36ID:nEZxoP/q0906nobodyさん
02/08/07 06:28ID:4Lzws0bXダウンロードする
属性をCGIを755 LOGを666に変更する
HTMLページに<!--#exec cmd="○○/lacerta/lacerta.cgi"-->
と、埋め込んで
CGIと同じディレクトリにアップする
この設置の仕方は間違ってるのでしょうか?
アップしたHTMLページを開いても何も表示されません・・・。
どなたか、教えていただけませんでしょうか?
ttp://www.kz-island.net/cgi/lacerta.htm
0907nobodyさん
02/08/07 07:12ID:???0908907
02/08/07 07:15ID:???「SSI が有効な設定になっていて
拡張子が shtml になっているのか?」
と言いたかったんだ。
0909nobodyさん
02/08/07 07:54ID:???0910nobodyさん
02/08/07 09:02ID:fr9q9q5sxmlをhtmlに変換する事はできますか?
xmlとxslだけではIEでしか表示できないので普通に手作業で、
msxsl.exeを使ってhtmlへ変換していましたが
今回はcgiでxmlを生成してそこからhtmlへ変換することになったのです。
なのでmsxsl.exeの役割をcgiの中でも出来るのかどうかというわけなのです。
0912nobodyさん
02/08/07 10:56ID:7jIJ9A+d送信するものがファイルのみならうまくいくのですが、
一行コメント等もいっしょに送るにはどうすればいいでしょうか?
というのも、
binmode(STDIN);
とやって標準入力をバイナリモードにしちゃうやりかたしかわからないので
テキストは受信してもめちゃめちゃなんですよ。
0913nobodyさん
02/08/07 11:26ID:???ただ\nとかいう表現方法はお勧めできない。
0914nobodyさん
02/08/07 12:02ID:biTmKPZ6わけじゃないよね。
0915nobodyさん
02/08/07 12:05ID:???テキストファイルをアップロードしたら、まんま送られるだろ。どうめちゃめちゃなの?
>>914
アップロード時に日本語がエンコード???
0924920
02/08/07 16:50ID:???それでも>>921の見解は間違いなことにはかわりない。
とりあえず日本語をHTTPでやり取りするときには(ブラウザ側で
自動的に)URLエンコードされるのは当然なんだが、それは知って
いるのかな?
0927921
02/08/07 17:44ID:rbDAoZ/oenctypeがapplication/x-www-form-urlencoded(デフォルト)なら日本語はURLエンコードされる。
しかしアップローダということなので恐らくenctypeはmultipart/form-dataと思われる。
multipart/form-dataではURLエンコードはされない。
以上
0928nobodyさん
02/08/07 18:06ID:???漏れもファイルのほうはそう思うが、
送られてくるテキストの方が掲示板のデータように送られてくるのだとしたら、
URLエンコードされてしまうと思う。
つーか、>>912現れてどうめちゃくちゃなのか言え!
0929921
02/08/07 18:23ID:IJRoW2QJ<input type="text" name="hoge" value="日本語">
<input type="submit">
</form>
これでエンコードはされない
だけどboundaryとかが入るのでnameとvalueの受け取りが面倒。
0930nobodyさん
02/08/07 18:38ID:sSYiyIo60931nobodyさん
02/08/07 18:41ID:mhNc4G4w0932921
02/08/07 18:43ID:2dLUgCtT正解でし(UTF-8)
0934nobodyさん
02/08/07 20:42ID:???これは?
%82%A4%82%F1%82%B1
0936nobodyさん
02/08/07 21:19ID:???0937nobodyさん
02/08/07 21:21ID:???0939 nobodyさん
02/08/07 21:30ID:???perldoc -q comments
で、C Styleのコメントを取り除くscriptを解説してくれている。
それを参考にしる。
0940nobodyさん
02/08/07 23:13ID:???$val =~ s/"/"/g;
$val =~ s/</</g;
$val =~ s/>/>/g;
$val =~ s/\0//g;
このような処理はデコードとはいいませんよね?
なんて言うんでしょうか?
0941nobodyさん
02/08/07 23:15ID:???0942nobodyさん
02/08/07 23:20ID:???もしコメントとして書く場合はどれが適当でしょうか?
■[置換]のEXCEED和英辞典からの検索結果
ちかん
置換
substitution; replacement; 《数学》 a permutation. 〜する substitute; replace; 《数学》 permutate.
0943nobodyさん
02/08/07 23:32ID:???esuke-pu;
↑ これが伝説のPGにだけ許される最高の称号
0944nobodyさん
02/08/08 00:00ID:???ぜんぜんPerlの話じゃないやん。
CGIすれに統合!でめでたしめでたし終わり。
0945nobodyさん
02/08/08 00:19ID:???http://pc.2ch.net/test/read.cgi/php/1025930486/462-
0946nobodyさん
02/08/08 00:22ID:???モジュールはちと面倒くさいけど、普通のスクリプトからコメントを
取るなら多分 perl -MO=Deparseが一番簡単だと思う。B::Deparseなら
q#foobar# とかの"#"に惑わされる事はないし。
0948nobodyさん
02/08/08 00:31ID:???0949nobodyさん
02/08/08 00:32ID:zM69Q9o6アイウエオという文字列があったときに
ア イ ウ エ オ
文字ごとに空白を
ってあける方法ってありますか?
あるとしたらどうやるのでしょうか?
簡単にできそうで2バイト文字の扱いがよくわかりませんでした・・・
0950nobodyさん
02/08/08 00:41ID:???ttp://www.din.or.jp/~ohzaki/perl.htm#JP_Split
ここ参照。
0951947
02/08/08 01:25ID:???#!/usr/bin/perl
my @files= ('/path/file.pl');
for my $file ( @files ){
open(R, $file) || next;
open(W, ">$file.txt") || next;
while (<R>){
last if /^__(?:END|DATA)__$/;
next if /^[\s;]*$/ || (/^[\s;]*#/ && $.!=1);
1 while s/^(.*[\w"'\)\]\}\s];|.*\)\s*\{)\s*#.*/$1/;
s/;[;\s]+\n$/;\n/;
print W unless (!/^=cut/ && /^=\w+/) .. /^=cut/;
}
close(R); close(W);
}
0952nobodyさん
02/08/08 01:34ID:htQeibpH正規表現じゃなくて良いなら。応用は自分で考えて。
$hoge = index($value,'アイウエオ');
if($hoge > -1){
for($count = 0; $count < 4; $count++){
substr($value,$hoge+2,0) = ' ';
$hoge += 3;
}
}
0954947
02/08/08 01:48ID:???あ、書き忘れたけどSJIS対応ね。 EUCなの?
0955947
02/08/08 01:52ID:???s/(\216[\241-\337]|\217?[\241-\376].|.)/$1 /g;
0956nobodyさん
02/08/08 02:44ID:???0958947
02/08/08 03:04ID:???$n= $_=~ tr/#//;
0959感謝する956
02/08/08 03:15ID:???0961nobodyさん
02/08/08 03:26ID:???0962nobodyさん
02/08/08 04:31ID:???古いi-modeではログが化けてしまう模様
調べたところ解決策はどうもないっぽいんで駄目押し覚悟でここへ来た
質問。
解決策はあるますか。
0963nobodyさん
02/08/08 04:35ID:???0965nobodyさん
02/08/08 04:37ID:???それとも最初からSJISで保存する?
0968nobodyさん
02/08/08 04:56ID:???0969nobodyさん
02/08/08 05:01ID:???てなかんじ?
0970nobodyさん
02/08/08 06:23ID:???こういうこと?
対象に上書きするので注意。
#! /usr/bin/perl
$perlfile = 'ファイル名';
open(FILE,"+<$perlfile");
while($tmp = <FILE>){
$tmp =~ s/\#+[^;]*\n/\n/;
$dat .= "$tmp";
}
seek(FILE,0,0);
print FILE "$dat";
truncate(FILE, tell(FILE));
close(FILE);
print "Content-type: text/plain\n\n終了\n";
0971970
02/08/08 06:28ID:???×$tmp =~ s/\#+[^;]*\n/\n/;
○$tmp =~ s/\#+[^;{}]*\n/\n/;
0972nobodyさん
02/08/08 06:47ID:???その2
[問題]
ひとつの箱があります。その中に0から9までの数を書いたカードが
それぞれ3枚ずつ入ってます。(計30枚)
A君が3枚、その箱からカードを取り出すとき8と5と3のカードの組み合わせが
(583,853など)でる確立を求めなさい。:制限時間3分
0973nobodyさん
02/08/08 08:32ID:???0976nobodyさん
02/08/08 09:43ID:???0977nobodyさん
02/08/08 10:12ID:???Web Prog 板で Perl 初心者てことは、 Web Prog の初心者は来るなと?
最終回記念カキコ
0978964
02/08/08 10:35ID:???いや、俺は最初の質問者じゃないんだけど、回答を試してみたら
何も起こらなかったという事を報告したかっただけ。
ちなみに>>970のヤツだとやっぱり
qw/
#foobar#
/;
sprintf(
'%s-000',
$foo = q#foobar#,
);
とかもちょんぎられちゃうから駄目だと思う。
(だから確かなのはO::Deparseくらいしかないと思うわけだが・・・)
0979nobodyさん
02/08/08 11:18ID:???0980947
02/08/08 12:24ID:???#!/usr/bin/perl
my @files= ('/path/file.pl');
for my $file ( @files ){
open(R, $file) || print "Can't open $file\n";
open(W, ">$file.txt") || print "Can't open $file.txt\n";
while (<R>){
next if (!/^=cut/ && /^=\w+/) .. /^=cut/;
last if /^__(?:END|DATA)__$/;
next if (!/^\s*$/ && /^[\s;]+\n$/) || (/^[\s;]*#/ && $.!=1);
1 while s/^(.*[\w"'\)\]\}\s];|.*\)\s*\{)\s*#.*/$1/;
s/;[;\s]+\n$/;\n/;
print W;
}
close(R); close(W);
}
0981nobodyさん
02/08/08 14:14ID:???0982nobodyさん
02/08/08 14:25ID:???│ |
│ |
│ |
│ |
│ ∧_∧ |
│ ( ・∀・) |
│ ( ) |
│ | | | |
│ (__)_) |
| WebProg |
│ |
│ 【Perl】初心者コーナー を終了しています… |
│ |
│ |
| |
| |
└───────────────────────――┘
0983nobodyさん
02/08/08 15:59ID:N0Sb7H4r↓
http://hp.vector.co.jp/authors/VA014700/l_goodhp.html
0984nobodyさん
02/08/08 16:11ID:???読みこむ方で(モジュールファイルをModule.pmとして)、
use Module;
とやる。
モジュール作れたんなら、分かっているはずだが...?
0985nobodyさん
02/08/08 18:04ID:UER6B09Rページを更新したり、そのページを訪問しただけで投稿記事が増えてしまします。
どのような対処法があるのですか?
locationを使おうと思ったのですが、うまくいきません。
よろしくお願いします。
0986sa
02/08/08 18:07ID:???0987nobodyさん
02/08/08 18:10ID:???0988985
02/08/08 18:15ID:UER6B09Rそうします。
ついでに、もしよろしければ
どのような記述を参考にすれば良いのかヒントだけでもいただけま戦火?
0990nobodyさん
02/08/08 18:56ID:???0991nobodyさん
02/08/08 19:34ID:???モジュールってインストールしなきゃつかえないんですよね?
module.pmをmoduleっていうフォルダにいれてるんですがそれを
呼び出すのは無理?
0992nobodyさん
02/08/08 19:57ID:???何か壮大な勘違いをしている可能性アリ。
呼び出す側のルーチンで
use Module;
デスヨ?
0993nobodyさん
02/08/08 21:17ID:???test.cgiから
moduleフォルダの中にあるmodule.pmを呼び出す場合は
test.cgiにuse Module;って記述するんですよね?
それでやってみたんですができなかったんですが・・
0994993
02/08/08 21:18ID:???0997nobodyさん
02/08/08 22:01ID:???じゃダメポ?
0998nobodyさん
02/08/08 22:02ID:???でもいいかと。
0999nobodyさん
02/08/08 22:12ID:???10001000
02/08/08 22:13ID:???CGIスレッドに統合すべし。
反論する者がなければ決まり。
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。