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

【Perl】初心者コーナー Part14

レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん02/07/18 16:34ID:jemWJhH3
いらっしゃーい、Perlの「コーディング」で困ってる人のスレです。

1:自分はこう言う事がしたい。
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:jemWJhH3
[過去ログ]
Part1 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
[Document&Tutorial]
 ・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:???
【Perl】
http://pc.2ch.net/test/read.cgi/php/1026968140/l50
0006nobodyさん02/07/18 16:37ID:???
6get
0007nobodyさん02/07/18 16:44ID:???
もういいのかな?
とりあえず乙彼
0008nobodyさん02/07/18 16:45ID:???
[Document&Tutorial]
 ・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/
0009 ◆JAPH9PWA 02/07/18 16:57ID:???
あー、そっか。終わったらそう書くべきだったね、ゴメン。
0010nobodyさん02/07/18 17:02ID:???
削除依頼提出済み

==終了==
0011nobodyさん02/07/18 17:24ID:AnxO1cAd
foreachがわからなくて卒業できませんでした。
はぁ〜。/Д`)
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:???
document.referrer
の代わりに
parent.document.referrer
を使う。

jsね。
0016nobodyさん02/07/18 21:46ID:???
超初歩的な質問ですが、
Perlでコメントを書く場合に

# 【注意】******

の様にコメント行に【】や ●▲ などの記号類を使っても問題無いでしょうか?
記号を使う目的は、後から自分が見て見やすくするというだけの理由ですが・・・。
0017nobodyさん02/07/18 21:48ID:???
# 以降その行はコメントです。たとえバイナリデータが含まれていようと、
0018nobodyさん02/07/18 21:51ID:???
>>17

じゃあ使っていいわけですね。勉強になりました。
0019nobodyさん02/07/18 22:22ID:???
15>
ありがと
0020nobodyさん02/07/18 23:44ID:???
>>17
試せばわかることまで教えない。
初心者つぶしですか?
0021nobodyさん02/07/18 23:50ID:???
>>20
わりぃ。
今度から気をつけるよ。
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:???
>>23
さんきゅ

あと聞き忘れましたが、変数に数字を入れる場合、
""で囲む場合と、何も囲まずにダイレクトに入れている場合が有りますが
その違いはありますか?

例えば
$hoge = "10";
$hoge = 10; の様に
0025うひ!02/07/19 03:21ID:???
>>24  礼は良いからPERLDOC読めよん
気分っつーか " は変数展開される
print 'このビールは$5です';
print "このビールは$5です";
下はあなたの思った動作をしないはず

$hoge = 10はどっちでも良い
"10"なら文字列として10なら整数型として
その時々に都合良く解釈してくれる
0026nobodyさん02/07/19 03:29ID:???
>>25
そうだ、変数展開だった。
何かが違うと聞いてた覚えがあったんですけど思い出せなかった。

PERLDOC?
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
無料で今日も”どっぴゅ〜” だっふんだぁ〜
0029nobodyさん02/07/19 03:42ID:???
>>27
どうも。それ読んでみます。
0030sleepy jaguar02/07/19 05:34ID:???
超おすすめ無料メールマガジン( ´,_ゝ`)
http://www.msleep.com/sleepy_jaguar/

Msleep
http://www.msleep.com/
( ´,_ゝ`)( ´,_ゝ`)( ´,_ゝ`)( ´,_ゝ`)
0031nobodyさん02/07/19 07:24ID:???
こんな風にしてもフォームからPOSTで送られたデータの取得はできるの?

%hash = &form;

sub form{
read STDIN, $form, $ENV{CONTENT_LENGTH};
@datas = split /[&;=]/, $form;
return(@datas);
}
0032nobodyさん02/07/19 07:27ID:???
>>31
試せよ。
0033nobodyさん02/07/19 07:31ID:???
わーいsleepy jaguarさんだ!
数字のソートはsort関数でできるんですか?
0034 ◆JAPH9PWA 02/07/19 08:36ID:???
>>33
数字だろうが数値だろうがオブジェクトだろうがソートできるよ。
0035nobodyさん02/07/19 10:02ID:zrmmynPy
Perl5.8.0キタ━━━━━━━━━(・∀・)━━━━━━━━━!?
0036nobodyさん02/07/19 12:20ID:3YmVGYTQ
「あわわ◆JAPH9PWAたん34GETおめでたですゥ〜\(^o^)/(核爆)」




























(・∀・)ウセロ!!
0037nobodyさん02/07/19 13:15ID:???
>31
なんでCGI.pmを使わないのかと小一時間問いつめたいのですが、
よろしいでしょうか。
0038nobodyさん02/07/19 13:24ID:???
>>37
なにを使う使わないというのは個人の自由だからオマエ程度が問い詰めることでもないだろ。
0039nobodyさん02/07/19 13:34ID:IEMDM0Nu
初歩的なこと教えて欲しいのですが

   if(条件式){ test1.cgi実行 }
      else{ test2.cgi実行 }

上のように、条件分岐してcgiを実行したいのですが、どうすればよいのでしょうか?

<form>タグでaction=****.cgiとして、submitで実行しか思いつかないのですが・・・
厨房ですいません。
0040nobodyさん02/07/19 13:38ID:7Bpm6nE5
Locationで検索しれ
00413902/07/19 13:42ID:IEMDM0Nu
>>40
早速レスありがとうございます。検索してきました。

print "Location : ***.cgi \n\n";

こんな感じで、いいのですね
ありがとう!
0042nobodyさん02/07/19 13:47ID:ou++e83o
掲示板の表示される名前の部分だけ色をかえたいのですが、どうずればよいのですか?
0043nobodyさん02/07/19 13:52ID:???
それはHTML関係だろ。
板、いや、スレ違い。
004442です02/07/19 13:57ID:ou++e83o
今、CGIで掲示板を作っているのですが。
表示される名前の部分の色を変えるにはCGIのなかを書き換えないといけないといわれたので・・・。
0045nobodyさん02/07/19 14:03ID:???
いくらPerlで掲示板作ってるからと言って、表示する部分はHTMLだろうが。

スクリプト改造工房 Part4
http://pc.2ch.net/test/read.cgi/php/1012839651/l50
0046nobodyさん02/07/19 15:35ID:???
つーかHTMLがわからなくてどうして掲示板作れるんだか
004742です02/07/19 15:48ID:ou++e83o
すいません、ご丁寧にありがとうございました。
逝ってきます。
00483902/07/19 16:19ID:h7+QqD7K
すいません、また質問させてください。

フレーム使っていて、右のフレームでCGIを表示したい場合、

print "<form target=right>";
print "Location : ***.cgi \n\n";
print "</form>";

みたいにするしか、無いのでしょうか?
いろいろ調べたのですが分からなくて
0049nobodyさん02/07/19 16:27ID:???
>>48
色々と何を調べたのか問いたい
フレーム云々自体、スレ/板違い
それにLocationすら理解していないしw
00503902/07/19 16:38ID:???
>>49
レスありがとうございました。

自力で調べてみます。レス違いでしたねすいませんでした。
0051nobodyさん02/07/19 17:31ID:???
右のフレームでcgiを表示って、HTMLの問題では?
そういうことやってるサイトは無数にあるから、そこのソースコピーしろ。
0052nobodyさん02/07/19 17:55ID:???
$hoge = 'hoge'or'fuga'or'foo'or'bar'みたいな時
if $hoge eq 'hoge' or $hoge eq 'fuga' or $hoge eq 'foo' or $hoge eq 'bar'
とするのと
if $hoge =~ /^[hfb]/
とはどちらがいいのですか?
00535202/07/19 17:58ID:???
訂正
if $hoge =~ /(hoge|fuga|foo|bar)/
にしてくらさい
0054nobodyさん02/07/19 17:59ID:???
>>52
値によっては処理がかわるから適切に使い分ければ?
0055nobodyさん02/07/19 18:00ID:???
>>53
値によっては処理がかわるから適切に使い分ければ?
00565202/07/19 18:02ID:???
あい、値によって適切に使い分けたいと思います
で、こういう値だったらこっちとかいう具体例ってありますか?
0057nobodyさん02/07/19 18:04ID:???
>>56
$hoge= 'aaahogeaaa';
これにマッチさせたくなければ上の eq を使えば?
0058nobodyさん02/07/19 18:08ID:???
>>57
なるほろ、そうします。
絶対に上の例以外の変数が入ることはなかったとしたら
どっちのほうが早い、負荷が低いんでしょう。
0059nobodyさん02/07/19 18:10ID:???
そりゃ、eq のほうが速いだろ。
ただ、正規表現のほうをうまく書き直せばベンチマークをやらないとなんとも
言えない。
0060nobodyさん02/07/19 18:13ID:???
そうなのれすか。
正規表現の出来具合によってはあまり変わらないと。
ご助言アリガトン。これから試してみるのれす
0061nobodyさん02/07/19 19:09ID:???
>>53
if $hoge =~ /^hoge|fuga|foo|bar$/
()もいらない。

スピードは$hogeによる。$hogeがとる値の確率の高い順に
orは連結するように。
単一のワードなら、eqのほうが、正規表現より3,4倍早い。
まあ、無視できる程度だけど何千回もまわすようなループの中だと
でかい差になるね。
0062nobodyさん02/07/19 19:36ID:???
誰か良いプロファイリングのしかた知らないっすか。
どこのコードが何回実行されるかを調べる奴です。


DBugモードは無しで…
0063 ◆JAPH9PWA 02/07/19 20:05ID:???
>>62
Devel::Dprofというプロファイラがあるよ。

$ perl -d:Dprof script.pl
$ dprofpp
0064nobodyさん02/07/19 20:47ID:???
>>63
Httpd上で動かしながらプロファイルをとりたいんどす
0065 ◆JAPH9PWA 02/07/19 21:11ID:???
>>64
httpd上でも同じこと。
ただしプロファイル中はパフォーマンスが劇的に下がるので
実際に動かしながら、というのはお勧めできないけど。

関係ないけど、
そんな「やれやれ、的外れなレスが来たな」とでもいいたげなレスはやめた方が言いかと。

0066nobodyさん02/07/19 23:04ID:???
また一人糞コテハンが。。。
コテハンうざい
消えろ
0067nobodyさん02/07/19 23:13ID:???
逆切れモンキーキタ━(・∀・)━!!
0068nobodyさん02/07/19 23:17ID:???
>>66 激しく同意。コテハンほどウザイものは居ないと思う。
0069nobodyさん02/07/19 23:44ID:???
屁タレ名無しキタ━(・∀・)━!!
0070nobodyさん02/07/19 23:45ID:???
>>69 必死だな(w
0071nobodyさん02/07/19 23:48ID:???
しかも粘着&自作自演キタ━(・∀・)━!!
0072nobodyさん02/07/20 09:57ID:???
おまえらIDだそうぜ?w
0073nobodyさん02/07/20 12:25ID:???
>>72
自作自演がばれるので無理ですw
0074nobodyさん02/07/20 14:41ID:7+IMl9AX
ここで質問していいのでしょうか?
どなたかおしえてください
http://music.2ch.net/test/read.cgi/msaloon/1011182085/25-26
0075nobodyさん02/07/20 14:57ID:???
>>74
P554 で始まるトリップが欲しいの?
0076nobodyさん02/07/20 15:02ID:NCN+JAmc
リファレンスを使うと何がいいんですか?
0077 ◆P554yc3s 02/07/20 15:04ID:???
>75
いやちがいます
これってトリップ解読プログラムらしいんです

でもこれって無限ループさせてRNDとかつかってランダムに6桁を選んで調べているんです
だからそれをaaaaaa-zzzzzzまで順番に一通り検索したいなとおもったんです
aaaaaaのトリップがそれなんです>PP
0078 ◆P5542316 02/07/20 15:08ID:???
一通りって、何日(何十日?)もかかるよ。
0079nobodyさん02/07/20 15:11ID:???
とりあえず落ち着け
解析ソフト使えばブルートも出来るだろ
00807402/07/20 15:14ID:???
>>78
半角英語26文字だけですからそんなにかからないはずです
ためしに4文字でやってみたのですが10分もかからかなったです
でもRNDってことは重複をやっているわけで6文字aaaaaaだと解析できなかったんです
(重複の解がいくつもでてくる)

>79
そんなのあるんですか?>解析ソフト
008174 ◆Nb6Ma0MY 02/07/20 15:20ID:???
やりたいことは
Q、このトリップあててみろ(ヒントは英半角4文字
って言う解をゲットしたいんです これだったらそのプログラムに
Nb6Ma0Mっていれると1分かからず解析できます
0082 ◆P5542316 02/07/20 15:25ID:???
たんじゅんに26文字の8乗で208827064576種類になり、
だいたい秒速で10000個解析できるとして20882706.4576秒かかる。
つまり、約5800時間(241日)はかかるだろう。

・10000個解析と書いたのは、わたしのマシンで最近Perlスクリプトで
解析した時の速度です。
・ちなみに同じマシンにて解析ソフトをつかったところ、約半分の4500個
解析でした。
・わたしのマシン スペック= CPU:MMX Pentium233: メモリ64M
008374 ◆Nb6Ma0MY 02/07/20 15:38ID:???
>>82
そんなかかりますか。。。。。(汗
計算しました。6文字までだったら8Hほどなので現実的です。
実際にプログラムは6文字用です。
やり方教えてもらえませんでしょうか?
008474 ◆Nb6Ma0MY 02/07/20 15:44ID:???
>>82
>79さんも書いていますが
この"解析ソフト"ってのは既にあるんですか?
0085Dream☆こそ真の上級者02/07/20 15:51ID:???
Dream★こそ真の上級者
0086 ◆P554yc3s 02/07/20 16:03ID:???
>>84
解析ソフトなら検索すればすぐにヒットするよ。
今、6文字のやつ作ってみたけど>>85が居るから見せるのに迷うな。
008774 ◆fS5h1Nbo 02/07/20 16:08ID:???
ぷぷっ
できないなら初めからそう言ってください。
だれも貴方に期待してませんから。
008874 ◆Nb6Ma0MY 02/07/20 16:09ID:???
なんですかドリームってのは(=87)ですか?
>86
見知らぬ国のってやつですか?>ソフト
それならもってます
0089 ◆P554yc3s 02/07/20 16:14ID:???
>>88
それもってるのになんか不満なの? 処理が遅いから?
>>87はコテハン嫌いのガラクタです。
0090nobodyさん02/07/20 16:14ID:???
コテハンは低スキルな馬鹿ばっか
009174 ◆nbuTfS9c 02/07/20 16:17ID:???
>>89
あれはパスワードをピンポイントであてることは出来ないじゃないですか?
似たようなのはさがせますが 
(もしかしてできるのですか?)
たとえばこれなんて2文字ですがとりっぱーじゃ探せないですよね?
009274 ◆AQeVTHLI 02/07/20 16:19ID:???
もういいです。
このスレッドのヒトは馬鹿ばっかりですね。
0093nobodyさん02/07/20 16:21ID:???
# のあとに全角文字とかも入れられたよな。
0094nobodyさん02/07/20 16:24ID:???
>>91
理論上は可能。何日かかるかは知らんが。
009574 ◆nbuTfS9c 02/07/20 16:26ID:???
>>94
それはわかりますが、4文字くらいまでなら即効で分かりたいのです。
今気づきましたが>>82さんってトリップ違ったんですね
009674 ◆nbuTfS9c 02/07/20 16:44ID:???
>>86
そろそろおねがいします
ここがだめなら例のスレにかいてください
0097nobodyさん02/07/20 16:46ID:???
無理無理(w
0098nobodyさん02/07/20 16:55ID:???
ほら見ろ(ww
009974 ◆nbuTfS9c 02/07/20 17:24ID:???
あらしさんが消えたらUPってくださいお願いします
0100  ◆uqiOV5h6 02/07/20 17:26ID:???
こういうのとかはとれるの?

#全角文字
0101nobodyさん02/07/20 20:29ID:???
http://www.xxxx.com と http://xxx.com
の 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:???
@obakana=sort{$a <=> $b}@hennsuumei;
010474 ◆nbuTfS9c 02/07/20 21:36ID:???
>>86さん 
いなくなってしまったのですか? ワーン
おしえてくださいよー
0105nobodyさん02/07/20 21:56ID:???
トリップ解析がなぜperlなのかまず説明せよ
0106nobodyさん02/07/20 22:07ID:???
>>105
るせんだよ CでもPascalでも良いから
さっさとコードだせや このボンクラ糞厨が!!!
0107nobodyさん02/07/20 22:20ID:???
漏れがPascal知らない理由をまず説明せよ
0108nobodyさん02/07/20 23:08ID:???
>>106の削除依頼出してきました、、
っていうかじゃま。ここはPerlコンテストスレじゃないから、、
スレ立てれば?たぶんコテに荒らされるとは思うけど、、
0109nobodyさん02/07/20 23:46ID:???
procedure trip(a :String)
begin
println('解析しました');
end;
0110(笑いが止まらない)02/07/21 00:11ID:???
な、やっぱり86は逃げただろ?
所詮コテハンで書く奴なんてそんなもの。クズばっか
0111nobodyさん02/07/21 00:14ID:???
>>110
必死だなw
0112藁藁藁02/07/21 00:16ID:???
>>11 即レス必死だな。
0113nobodyさん02/07/21 00:17ID:???
>>112
どうでもいいが落ち着いてレスしな。
怒りで打ち震えているのはわかるが・・・。
0114nobodyさん02/07/21 00:20ID:???
歴代コテハンはクズばっか
クズばっか
ばかばっか
ばっか
0115nobodyさん02/07/21 00:21ID:???
>>114
お、壊れた壊れた♪
0116nobodyさん02/07/21 00:23ID:N7aMXnNp
2chでコテハンで書く奴は自意識過剰なDQN決定
オマケに低スキルとくるから害以外の何者でもないね
救\ツマ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:???
Perl文法的にみて「このスクリプトの組み方はいい」というスクリプトの配布サイトを教えてください。
0118nobodyさん02/07/21 00:24ID:???
俺持ってるよ
0fillと左寄せで総当りする奴
CでufcCrypt使ってるから、perlの倍近く速い
0119nobodyさん02/07/21 00:45ID:???
>>117
Perlは文法的に破綻していると考えるのは俺だけか?
俺だけか・・・。
0120nobodyさん02/07/21 05:26ID:???
>>106

$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:???
86さんは私を裏切ったのですね。
恨みます。
0123nobodyさん02/07/21 09:56ID:v1h8+7/c
てうst
0124nobodyさん02/07/21 16:16ID:XUtCuljQ
掲示板を書いているのですが書き込んだ内容をファイルに記録すると
スクリプトのソースがファイルに記録されてしまうのですがどこが
おかしいのか教えてください。
ソースはこれです。
ttp://zor007.netfirms.com/files/159.txt
0125nobodyさん02/07/21 16:19ID:???
>>124
はじめ4行しか読んでないが。

$logの代わりに$reload開いてそれを$logに書き戻してないか?
012674 ◆nbuTfS9c 02/07/21 16:23ID:???
>74です
ガーンまだ教えてもらえないのね
0127nobodyさん02/07/21 16:27ID:???
>>74
この板の奴は口先だけ。
偉そうな口だけ一人前だから何も期待するな。
0128nobodyさん02/07/21 16:40ID:???
>>106
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);
}

数字のみしか解析できないからあとは適当に改良してな。
0129nobodyさん02/07/21 16:42ID:???
>>128
ミスった。$ARGV[0]→$hoge な
013012402/07/21 16:56ID:XUtCuljQ
ファイルに保存される内容はスクリプトの内容そのままではなくて
POSTした内容の後ろにソースが付くのですが、、、原因がさっぱり
です(´・ω・`)
0131んじゃCで02/07/21 16:58ID:???
>>106
ボーランドのC++コンパイラで

#include <stdio.h>

int main(void)
{
while(1)
printf("\t\b\b");
}
をコンパイル。これCのコードね
んで.exe実行。で解析ファイルがでる。
かんばれ
0132nobodyさん02/07/21 16:59ID:???
>>131
確かNTのコンソール落ちるんだっけか?
0133コギャルとHな出会い02/07/21 17:08ID:8IhQDrIi
http://go.iclub.to/ddiooc/
     
     i/j/ez/対応です

お役立ちリンク集
必ず役立ちます

 サイト管理者お役立ち集
    1日4000HIT以上

http://kado7.ug.to/wowo/
      
     i/j/ez/対応
    
   コギャルとH出来るサイトはここ
ヌキヌキ部屋へ直行便

         ↓
   http://kado7.ug.to/wowo/-a.htm
    
       i/j/ez/対応
0134nobodyさん02/07/21 17:29ID:???
>>132
俺がやったときは(バッチファイルで)再起動したよ。
そのあと、動作が不安定になって、再インストール。
0135nobodyさん02/07/21 17:33ID:???
>>65
遅れましたがレスありあり。

DProfと言葉遣いを勉強してきます。
0136.02/07/21 19:03ID:uxGaIo9z
Devel-DProfがインストールできません。
PPMで

Error installing package 'Devel-DProf': Could not locate a PPD file for package
Devel-DProf

などというエラーが出ます。
助けてください。
0137 ◆JAPH9PWA 02/07/21 19:13ID:???
>>136
Perlのバージョンは?
perl5.6以上なら標準で入ってるけど、
そうでなければ自分でビルドするしかないかもね。
0138.02/07/21 19:13ID:???
>>136
自己解決しました。「Devel-Profiler」って名前だったのねん。
0139nobodyさん02/07/21 19:26ID:???
>>124
use strict 使うか -cw でチェックしたりした?

掲示板の表示
sub Output{
my $message,$titel,$name,$mail,$reload,$color,$log,$check;
                 ↑
              ちょっとしか読んでないけどtypoハケン
014012402/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:???
exit(0);とexit(1);の違いを教えてください
0142nobodyさん02/07/21 20:53ID:???
>>141
0を返すか1を返すか。
0143nobodyさん02/07/21 20:54ID:???
返す値が違うと何が変わるんですか?
0144nobodyさん02/07/21 21:26ID:smidQHj9
>>128
これって半角英語入れられないですよね?

$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っていれても駄目だし
どうすればいいんだろう
014512402/07/21 21:28ID:XUtCuljQ
>139
ありがとうございます
一応解決しましたが、、、
いろいろ試してみた結果windows上のapache2の上ではソースが
保存用ファイルにソースまで書き込まれてしまいおかしいなと思って
LINUX上のapache2で試してみたらちゃんと書き込みできましたこれってapacheのバグ!?
0146nobodyさん02/07/21 21:28ID:???
>>144
ほんとにPerl書けるんですか?
014712402/07/21 21:33ID:XUtCuljQ
>146
つい最近書き始めたばっかり
でもこのソースでLINUX上ではちゃんと動いた、、、
014812402/07/21 21:34ID:XUtCuljQ

俺へのレスじゃなかったのか間違えた鬱だ死のう
0149nobodyさん02/07/21 21:40ID:???
>>148
二度とくるな、
お前の頭がバグってる。
初級ネットにPerlスレあるからいってらっしゃい。
0150nobodyさん02/07/21 21:44ID:???
rgkltぐvbydfjぎrんちytbgrふえいhげr78おtg67れtg67tれ78gへれるgれhrht
コテハンは糞
0151nobodyさん02/07/21 21:47ID:???
>>150
お前の挙げた条件はすべて満たしているが?
絶対にないとかほざくからそう言う恥ずかしいことになる。
0152nobodyさん02/07/21 21:49ID:???
151には何か別のものが見えるらしい。こわっ
0153nobodyさん02/07/21 21:56ID:smidQHj9
>>146
かけません。だから聞いているんです
お願いします
0154nobodyさん02/07/21 22:00ID:???
>>153
それよりさ
http://music.2ch.net/test/read.cgi/msaloon/1011182085/
なんでここからあなたがとんでくるわけ?
煽ってんじゃなくて理由がしりたい。
なんでいきなりPerlコードが書かれるのよ。
Dreamが何者?とかいうよりあなたが何者?
0155そこの住人だから02/07/21 22:05ID:???
>>154
たまたま見つけたから。
知りたいんです。
0156nobodyさん02/07/21 22:13ID:???
>>149
お前も来るな!
何エラぶってのよ!
ヴァーーーカ
0157nobodyさん02/07/21 22:13ID:???
>>156が頭にエラーがある何よりの証拠だな。
0158nobodyさん02/07/21 22:21ID:???
>>157
頭にエラーって何でしょう?
脳の事いっているの?
プログラムより日本語勉強したら?
0159な〜つはス〜ぎ〜雨上が〜り02/07/21 23:11ID:???
┌─────────┐
│                  |
│ . キ違い警報発令 ! │
│                  |
└―――──――――┘
    ヽ(´ー`)ノ
       (  へ)
        く
0160nobodyさん02/07/21 23:52ID:???
foreach (@file){
@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:???
@next= split(/\t/, $hoge);
0162nobodyさん02/07/22 00:04ID:WiTDQmMb
>>160
[書式]
foreach 変数(配列){
 処理
}
016316002/07/22 00:45ID:???
すみません。間に合わせで解決しました。
0164nobodyさん02/07/22 01:17ID:???
>>163 もう二度と来るなよ
0165nobodyさん02/07/22 01:22ID:???
>>164
良かったね。と言ってやるのが大人の対応です。
0166ひろゆ子&diams;HRUNYAXA02/07/22 02:06ID:???
jjjjjjjjjj
0167bigpapa02/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:Ajg2mltJ
perlでintergerなど、変数の型を指定する事は可能ですか?
0169nobodyさん02/07/22 05:04ID:???
あい
017016802/07/22 07:13ID:Ajg2mltJ
どうすれば良いんですか?
0171nobodyさん02/07/22 11:09ID:???
>>170
intな値を代入する。
$int = 100 ;
0172&diams02/07/22 12:41ID:???
aaa
0173♦#02/07/22 14:50ID:???
変数の型で interger って初めて聞いたYO!
0174Piano ◆QGZrdAAA 02/07/22 15:27ID:EIYlzT8w
googleのI'm feeling Luckyを組み込んだ
メタ検索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で検索できたので
エンコードの問題では無いと思うんですが、、、。
誰か教えて下さい、お願いします。
0175hage02/07/22 15:31ID:???
gooでやってるみたいなHPのスクリーンショットをサムネイル化したリンク集できる?
Perlで。もしくはPHPで。
0176nobodyさん02/07/22 15:52ID:K2sicsKl
geocitiesはCGIつかえないの?
0177nobodyさん02/07/22 16:04ID:???
使えないよ。
0178nobodyさん02/07/22 17:00ID:???
for(my $i = "0001";$i < "0011";$i++){
   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:7X7F8f9K
open(IN,"$log");
eval { flock IN, 2; };
@line=<IN>;
eval { flock IN, 8; };
close(IN);
すみません質問です。
このロック処理の方法はミスがありますでしょうか?
私は意味が無いような気がするんですが、
どうもこれだという理由がなくて困ってます。
0182nobodyさん02/07/22 18:50ID:???
>>181
あっちこっち書くなよ、糞虫が
2chで外国人以下の敬語モドキ使ってる暇有ったら
検索でもしろよこの中卒塗装工が
018318102/07/22 18:53ID:???
>>182
すみませんでした。
で、答えの方はー?プゥ___。
0184nobodyさん02/07/22 19:06ID:???
>>181
open(IN,"<$log");
eval { flock(IN, 2); };
@line=<IN>;
close(IN);

これのほうが良いかな〜?
018518102/07/22 19:14ID:???
>>184
そうですか〜。
わっかりました。
ほんとにですか?
0186nobodyさん02/07/22 19:16ID:???
冗談に決まってるじゃん
018718102/07/22 19:19ID:???
>>186
失礼ですが答えを知っておれますか?
0188nobodyさん02/07/22 19:25ID:???
>>186 = 嘘つき
0189nobodyさん02/07/22 19:25ID:???
ハ-ゲシクワ-ラタ
019018102/07/22 19:50ID:???
>>181
flock(XX, 1) 読込中なので書込をロック、あとから来たら待つ。(ブロック)
flock(XX, 2) 書込中だから書込読込ロック、あとから来たら待つ。(ブロック)
flock(XX, 5) 読込中なので書込をロック、あとから来たら0を返す。
flock(XX, 6) 書込中だから書込読込ロック、あとから来たら0を返す。
flock(XX, 8) ロック解除(close(XX)すれば解除なのであまり使わない)。
019118102/07/22 19:51ID:???
残りは俺の肛門。
0192Piano ◆QGZrdAAA 02/07/22 20:57ID:Ipm5/McI
どなたか>>174の質問がわかる方いらっしゃいませんか?
0193nobodyさん02/07/22 21:03ID:???
>>192
googleAPIについて勉強するのが吉。
019418102/07/22 21:06ID:???
>>174
POST限定じゃないの?
019518102/07/22 21:07ID:???
http://www.google.co.jp/search?q=in{'$word'}&btnI=I'm+Feeling+Lucky
これならいける?
019618102/07/22 21:10ID:???
&ieとか書くと駄目だね。
わかったか厨房?プゥ___。
019718102/07/22 21:17ID:???
>>Piano ◆QGZrdAAA
195の方法で出来たんだろ?
無視かよ!
0198nobodyさん02/07/22 21:19ID:???
るせヴァカ
019918102/07/22 21:20ID:???
>>198
はぁ。はいはい。
0200nobodyさん02/07/22 21:34ID:???
>>199 煎って葦!
0201nobodyさん02/07/22 21:36ID:???
   ∧  b
  /●ヽ/
 (∧_∧)  / ̄ ̄ ̄ ̄ ̄
 ( ´∀`)< 質問前に過去スレ検索モナー。
 (    )  \_____
 | | |
 (__)_)
0202Piano ◆QGZrdAAA 02/07/22 22:36ID:???
>>195
行けました!
どうもありがとうございました!
0203nobodyさん02/07/22 22:58ID:11nH30Zk
KENTの掲示板弄ってて、色々エラー出るんで文法チェックのスクリプト通しながら
虫取りしてるんですが、たびたび「@〜は\@〜と書け」ってな表示に遭遇します。
これは多分配列を認識してないんだと思うんですが、原因が分からないんです。
どこか変ないじり方しちゃったんでしょうか。

なんか全部の配列について同じように警告されてる感じなんですが。
0204nobodyさん02/07/22 23:01ID:???
「'」とか「"」でくくっているのでは?
本当にそうなるかはわからないけど。
0205 ◆JAPH9PWA 02/07/22 23:04ID:???
>>203
配列とは関係なく、
単に"foo@mailaddress.com"を"foo\@mailaddress.com"にせよ、という意味だと思われ。
020618102/07/22 23:22ID:???
>>202
返事がおせぇーよ。
じゃぁな。プゥ___。
0207nobodyさん02/07/22 23:28ID:11nH30Zk
えと、
In string, @lines now must be written as \@lines at yybbs.cgi line 285, near "@lines"
って書かれるんですけど、285行には@linesなんてないし、@linesが含まれる行は
ログの取り込み処理とかそういうので、どこもいじってないはずなんです。
ひょっとしてどこかでクォーテーション閉じ忘れたとか、そんなことでしょうか。
見直してますが、2600行ぐらいあるんで大変です。
020820302/07/22 23:28ID:11nH30Zk
すいません、>>207は俺です。
0209nobodyさん02/07/22 23:30ID:???
>>208
285行前後を良く見るんだ。 ; の付け忘れとか。
0210nobodyさん02/07/22 23:33ID:???
悪い事は言わんからその辺のFAQ読みながら
自分で50行位書いてみれ、それが出来たら解決する。
どっかで行か何か閉じるの忘れてるんだろけど…
021120302/07/22 23:42ID:11nH30Zk
えと、色々見直したらヒアドキュメントの閉じ方が変になってるのを発見しました。
ってか、頭の方のEOMが小文字になってました。
なんか変な置換かけちゃったみたいです。
お騒がせしました。
021216802/07/22 23:53ID:???
integerの間違いです
結局無理って事ですよね?
0213nobodyさん02/07/23 00:20ID:???
Cで言うところのenumerationってどうやってます?
%e = (abc => 0, xyz => 1, ... , xxxx => 99)なんてのをスマートに初期化したい。
0214nobodyさん02/07/23 00:40ID:8Y4x0Hwt
質問があります。

例えば、$dataという変数のなかに、ABという文字列がいくつあるか
カウントすることはできますか?
0215nobodyさん02/07/23 00:40ID:???
>>213
ハッシュとか配列じゃ不満?
0216nobodyさん02/07/23 00:43ID:Cp6+hfm6
掲示板を作成中なのですが、
設定された最大記事数を越えると過去ログに行くようには出来るのですが、
管理人の任意の時に、表示されている記事を過去ログに行かせるというのがうまく出来ません。
何か良い方法はないでしょうか?お願いします。
0217nobodyさん02/07/23 00:43ID:???
すみません、さっきの質問取り消します。
0218214=21702/07/23 00:44ID:???
すみません
0219nobodyさん02/07/23 00:48ID:???
>>216
日本語として成立してない気がします。
0220nobodyさん02/07/23 00:52ID:8Y4x0Hwt
print $xの出力が

あいうえお
かきくけこ
さしすせそ
たちつてと
なにぬねの

だった時、最初の3行のみを表示するには、どうすればよいでしょうか?
022121302/07/23 00:56ID:???
>>215
ハッシュでやろうとしてるけど、abc => 1, xyz => 2と数値を直接書くのはださいので
かっちょいい書き方(初期化)があるかなと。
022202/07/23 00:58ID:hvIhNQI1
http://www.t-cnet.or.jp/~heaven/adultranking/rankem.cgi?action=in&id=yama
0223nobodyさん02/07/23 00:58ID:???
>>220
出力しちゃったらどうにもなりません。

ああ、UNIXなら

perl a.pl | head 3

でOKか。
022421602/07/23 01:01ID:Cp6+hfm6
>>219
掲示板に書き込みがあり、ある一つの話題で盛り上がる

その話題が終わる

※管理人が、その話題に関する書き込みをまとめてpast.htmlに送る

各過去ログ(past1.html past2.html〜)に飛べるようにする

という風にしたいのです。分かりにくかったらすいません。
0225 ̄ ̄ ̄ ̄02/07/23 01:01ID:???
%e = (abc => 0, xyz => 1, ... , xxxx => 99)なら、

@e{qw(abc xyz)}= (0 .. 1);
022621302/07/23 01:12ID:???
>>225 それ、かっこいいですね。いただきっ。ありがとうございました。
0227nobodyさん02/07/23 03:58ID:???
>>226
my @symbols = qw/ foo bar baz /;
my %e;
@e{@symbols} = (0..$#symbols);

TMTOWTDI
0228nobodyさん02/07/23 04:02ID:???
>>227
さらにそれを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:???
>>179
それじゃあ$iとかが全部その時の値に置換されちゃうじゃん・・・

ともかく、文字列をevalするのは遅い。そういうことをするのは例えば
AUTOLOADを使って動的に関数を作成するときとかだけだと思うよ。
そうすると2度目からはAUTOLOADを通さずに関数が呼び出されるからその分
早くなるので。
0230yuri02/07/23 08:42ID:???
gooでやってるみたいなHPのスクリーンショットをサムネイル化したリンク集できる?
Perlで。もしくはPHPで。
教えて下さい、お願いします。
ちなみに私は17歳・女です。
0231nobodyさん02/07/23 08:58ID:???
>>230
うむ、死ぬ気でHTMLパーサ書いてデザインしてくれ。
0232 ◆JAPH9PWA 02/07/23 09:21ID:???
>>228
そのくらいならenum.pmを使ってほしい。
use enum qw(FOO BAR BAX);
0233nobodyさん02/07/23 09:23ID:???
>>232
えー、enum.pm標準じゃないじゃん。いや、どっちでもいいんだけど
0234nobodyさん02/07/23 09:58ID:???
固定ハンドル=低スキル
0235nobodyさん02/07/23 09:59ID:???
>>234←それにすら劣ると。
0236nobodyさん02/07/23 10:23ID:???
固定ハンドルは死ね
0237nobodyさん02/07/23 12:25ID:???
コテハンよりお前らの方がウゼー
0238nobodyさん02/07/23 12:33ID:???
>>230
>ちなみに私は17歳・女です。
誰が信じるか!(・э・)
0239nobodyさん02/07/23 13:17ID:???
>>230
信じる以前に、そんな意味の無いことを書く奴はうせろ
0240nobodyさん02/07/23 13:40ID:???
       ∧             ∧
       /.::ヽ           /.:: ヽ
      /.::: ヽ          /.:::: ヽ
      /.:::  ヽ         /.::::  ヽ     このスレは一体
     /.::::::.  ヽ,,,,,,,,,,,,,,,,,,,,,,,,,,,/.::::::::.  ヽ
    /.:::::::::::                 ヽ       何なのですか         
    /.:::::::::   /        ヽ     ヽ
   /.:::::::   / ‐・‐     ‐・‐\     ヽ
   ヽ.::::::       .::::            /
    ヽ.:::::      .:::::            /
     ヽ.::::     \__/      /
      ヽ.::::      \/       /
       \.:::::            /
0241yuri02/07/23 14:19ID:???
>>238
信じてください。
0242yuri02/07/23 14:20ID:???
>>239
出来るの?出来ないの?どっち?
0243yuri02/07/23 14:21ID:???
質問する側の態度は丁寧なのに対して
答える側の態度は悪すぎですね。
絵梨悲しいです。
0244nobodyさん02/07/23 14:28ID:???
> 1:自分はこう言う事がしたい。
> 2:それでこんな風にやってみたが・・・
> 3:それだとこんなエラーが出て上手く行かなかった。
>
> 1と3が無いと誰も答えられないよ。
> 良い回答は良い質問から。一緒に勉強しましょう。

質問のテンプレートが>1に用意されてるのに無視か?
その癖誰も聞いちゃいねえ話を一人でしてる。
態度が丁寧だってなら、書き込み内容の要不要くらい判断しろ。
0245nobodyさん02/07/23 14:29ID:???
>>243 ここの厨房どもには無理
0246nobodyさん02/07/23 14:30ID:???
加えて、PHPの話ならスレ違いだ。
どんなに態度が丁寧でも、郵便局で牛丼頼むような奴にまともな対応が返ってくるなんて思うな。
0247nobodyさん02/07/23 14:30ID:???
おいコテハン野郎
こんな質問に答えてこそ存在意義を示せるってもんじゃないか。
答えてやれよ
0248nobodyさん02/07/23 14:44ID:???
>>230
できるかできないか聞いているならできる
教えてあげたんだからこれ以上くる必要はないから来ないでね。>>1もまともに理解できない人は。
0249nobodyさん02/07/23 14:54ID:???
JAPH

というのは
just another perl hacker
の略のですにゃん◆JAPH9PWA は神なのですにゃの
php板では最強なの(´ω`)/
>>◆JAPH9PWA
ただもう出てこないでまじで
名無しで受け答えしてもなんの問題もないやん
マ板では相手にしてもらえなかったのか(泣
0250nobodyさん02/07/23 14:57ID:???
具体的な方法を尋ねたらダンマリを決め込むであろう248がいるスレッドはここですか?
0251nobodyさん02/07/23 15:03ID:???
コテハン答えろ!!!!
0252yuri02/07/23 15:16ID:???
>>244
だって、私初心者ですよ?
書き方も考え方も分からないのに・・酷すぎます。
0253nobodyさん02/07/23 15:18ID:???
>>252
ハァ?
0254ハァ? 02/07/23 15:19ID:???
ハァ?
0255yuri02/07/23 15:20ID:???
助けて頂けませんか?
0256yuri02/07/23 15:21ID:???
皆で頑張りましょうよ!
力を合わせればきっと出来ます!
0257nobodyさん02/07/23 15:22ID:???
どれが本物で、どれが似非物だ?
0258nobodyさん02/07/23 15:29ID:???
http://team7.s8.xrea.com/contents/osietekun.htm
0259nobodyさん02/07/23 16:13ID:???
>>yuri
出来るよ、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:???
japu痰がいた頃はもっとまた−りしてたけどなぁ。
0263nobodyさん02/07/23 21:43ID:???
>>262
同意
良スレだったんだが・・・・
夏のせいか
0264nobodyさん02/07/23 21:52ID:???
初心者がここに質問きて
ぼろくそに言われて、荒らしになったと思われ

最近、回答者も”俺は偉いんだぞー病”にかかってるの居るからなー
0265nobodyさん02/07/23 21:55ID:???
>>264
Perlできてもなぁ・・・。
あのシェルスクリプトからの成り上がりっぷりがくさくて嫌い。
0266nobodyさん02/07/23 21:56ID:???
>264
最近の事じゃないけどな。
初期からずっとだよ。

さて、気を取り直して。


1 名前:nobodyさん 投稿日:02/07/18 16:34 ID:jemWJhH3
いらっしゃーい、Perlの「コーディング」で困ってる人のスレです。

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

1と3が無いと誰も答えられないよ。
良い回答は良い質問から。一緒に勉強しましょう。
0267nobodyさん02/07/23 22:03ID:???
>>266
CGI改造したら、サーバーダウンさせっぱなし…追放されちった…
開発者向けでないテストサーバー知ってる人いますか?
出来れば無料…
知らないか…    
0268nobodyさん02/07/23 22:24ID:???
localhost
0269nobodyさん02/07/23 22:35ID:hYANtpdN
>>267
http://www.kent-web.com/www/index.html
0270nobodyさん02/07/23 22:43ID:???
>>269
ネタマルチは放置しませう
0271nobodyさん02/07/23 22:58ID:???
掲示板で1度書き込みした後、更新する度にその書き込みが書き込まれていく原因として何が考えられます?
お願いします。
0272nobodyさん02/07/23 23:02ID:???
>>271
激しく仕様。
0273nobodyさん02/07/23 23:24ID:dbl+1Fdv
>>271
bbs.cgi?name=giko&msg=itteyoshi
こんなのがリロードされたら連続書き込みになっちまうだろ。
書き込みを受け取ったら、
Location: bbs.cgi
で飛ばすがよろし。
0274nobodyさん02/07/23 23:44ID:???
>>273
thanks
初心者にとっての頼みの綱であるこのスレを守っていってください。
さよなら。
0275nobodyさん02/07/23 23:52ID:???
>>274
ナイス他人任せ。
0276nobodyさん02/07/24 04:06ID:???
LWPの使い方についてです。。
ちょっと自分で調べてみて、

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:???
>>276
use strict;
use LWP::Simple;

my @foo = split( /(?:(?:\r)?\n)+/, get( 'http://www.2ch.net' ) );

ちなみにその質問は「LWPの使い方」とは違いますね。 ;)
0279nobodyさん02/07/24 05:06ID:???
>>278
ありがとうございます。
やってみたら、正常に動きました。
0280m02/07/24 05:47ID:rNnlw0cu
http://js-web.cside.com/index.html
0281nobodyさん02/07/24 06:00ID:???
なんで my 宣言しなきゃいけないんですか?
外すとエラーになります。。
my宣言は都合でしたくないんですけど解決策はありますか?
0282nobodyさん02/07/24 06:16ID:???
>>281
なんでしたくないの?

使わない時もあるけど、そっちのほうが例外で普通はmyを使わない
スクリプトってのは酷いコードになるよ。
0283nobodyさん02/07/24 06:26ID:???
>>281
use strict;を外せば?
0284nobodyさん02/07/24 09:48ID:???
>>282

perl使ってる時点でstrict通そうがコード酷いのはいなめないと思うが。。。
つーか綺麗さより使い勝手って割切られてる言語なんだし。。。
0285nobodyさん02/07/24 09:51ID:???
csvを使ったデータベース顧客一覧CGIを作ったんですが、
Netscape4.7以前のバージョンで表示されないんです。
IEだと表示されたんですが・・。

Javascriptが原因かと思ったんですが消してみてもダメでした。
ちなみにソースを見るとちゃんと顧客一覧が表示されているんです。
ソースにはあるのに、どうしてブラウザには表示されないんでしょう・・。
0286nobodyさん02/07/24 09:57ID:???
>>285
lintにでも書けてみ?なんか間違いあるんだよ。
0287nobodyさん02/07/24 11:06ID:???
>>285
Perlのコーディングうんぬんじゃなくて、HTMLの間違いなんじゃないの?
tableのタグの閉じ忘れとかさ、、、
028828502/07/24 11:06ID:???
>>286
単純にタグの閉じ忘れでした。
Perlが原因では無かったです。
逝ってきます・・・・・・・・
0289nobodyさん02/07/24 12:03ID:???
タグを閉じ忘れても表示するIE。
まともなHTMLを厨が書かなくなるわけだ。
0290nobodyさん02/07/24 12:12ID:???
>>284
Perl使ってるからしょうがないなんて言い訳にすぎない。
どんな言語を使ったって同じ。
0291nobodyさん02/07/24 12:31ID:???
>>290
構造化言語とシェルスクリプトに無理矢理構造化を組み込んだ言語。
オブジェクト指向言語とシェルスクリプトに無理矢理オブジェクト指向を組み込んだ無理矢理構造化を埋め込んだ言語。

ノイズはどんどん増幅されている。
0292nobodyさん02/07/24 13:05ID:???
はいはいそうだねー。きっとコンパイラーにお守りしてもらえば
いいコードかけるのねー。
0293nobodyさん02/07/24 13:07ID:???
>>292
うん。便利。
まぁ、あの無駄に多いライブラリ覚えてる奴とかすごいと思うけどな。
0294nobodyさん02/07/24 14:35ID:???
>>293
おめでとう。自己満足できればそれでいいと思うよ。
0295nobodyさん02/07/24 14:39ID:???
>>294
がんばってね。
0296nobodyさん02/07/24 14:47ID:???
>>295
言いたいことがあるなら、メール欄に書いても伝わらないYO!
0297nobodyさん02/07/24 14:48ID:???
>>296
なかなかおもしろいだろ?w
0298nobodyさん02/07/24 14:51ID:???
>>297
どこがおもしろいかわからんかったよ。おもしろい部分を説明してくれ。
0299nobodyさん02/07/24 15:14ID:izWyFOGV
UNIX板から来ました。
http://uptime.netcraft.com/up/graph

ここにあるような、URLを指定してそのサーバーの
HTTPヘッダ情報を取ってくるようなスクリプトを作成したいと考えています。

自鯖の情報は取れるようになったのですが、SERVER_SOFTWARE、
イメージとしては
1.URL入力
2.そのURL(鯖)に対して自鯖のCGIをリクエストしてよってお願い
3.向こうの鯖の環境変数get
てなカンジかなぁ、と思っています。

つまりまぁ、上記URLのようなことができればこんな面倒なやり方じゃなくてもいいのですが。
何かよいお知恵をお貸しください。
0300コギャル&中高生H大好き02/07/24 15:16ID:nUYA8H9H
http://go.iclub.to/ddiooc/
     
     i/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:???
Socket使って、HTTPでGETなりPOSTなりすればいいだろ。
0303nobodyさん02/07/24 16:04ID:???
以下のコードで、2つ目のprintが実行されません。
なぜでしょうか?

my $a = "!";
print "Test1" if $a =~ /!/g;
print "Test2" if $a =~ /!/g;
0304nobodyさん02/07/24 16:13ID:e324b2xP
gを付けない。あと$aという変数は特殊な意味をもつので普通避けるべき。
0305nobodyさん02/07/24 16:18ID:???
>>304
動きました!
有難うございます。
0306nobodyさん02/07/24 16:19ID:izWyFOGV
>>301
確かに自分でもよく整理できてませんでした。(汗

>>302
今調べたらsokectのサンプルソースがあったので、
これを頼りにがんがってみます

ありがとうございました。
0307てすた02/07/24 17:48ID:IOzuRKcl
http://isweb39.infoseek.co.jp/play/kouza_k/jump.cgi?http://2ch.net
ニダー
0308てすた02/07/24 17:49ID:IOzuRKcl
http://isweb39.infoseek.co.jp/play/kouza_k/cgi-bin/jump.cgi?http://2ch.net
ウツ。。
0309てすた02/07/24 17:50ID:IOzuRKcl
>>308をコピしてくり。たのむ
0310nobodyさん02/07/24 17:50ID:???
>308
iswebはCGIの外部呼出し不可。
0311てすた02/07/24 17:52ID:IOzuRKcl
>>310
シテマシターーヨ ヽ(TーT)ノ
0312初心者02/07/24 18:16ID:???
CGIファイルにアクセスするとIEでは、正常に表示されるのに
ネスケではHTMLソースで表示されてしまいます。
ネスケの全バージョンでダメでした。
Content-typeとか<HTML><BODY>等は問題なく入ってるんですが・・
0313nobodyさん02/07/24 18:17ID:???
>>312
信用できません。
0314nobodyさん02/07/24 18:19ID:???
ヘッダーの部分見せてみろ。
0315初心者02/07/24 18:21ID:???
>>313
本当です。

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>";

となっています。
0316nobodyさん02/07/24 18:22ID:???
>>315
lintにかける。
0317nobodyさん02/07/24 18:29ID:???
>>312
サーバはどこ?
逆なら考えられるんだけどな・・・トクトクとかで。
0318nobodyさん02/07/24 18:31ID:???
>315
自分で初心者を名乗る奴は基本的に信用できん。

print "Content-Type: text/html\r\n\r\n";

にしてみろ。
0319初心者02/07/24 18:31ID:???
>>316
lintかけてみました。
ドキュメント宣言やHTML lang="ja"を入れてみたんですけど
やっぱりダメです。
ネスケでHTMLソースがダラダラと表示されてしまいます。
0320nobodyさん02/07/24 18:32ID:???
>>319
そもそもスクリプト中にHTMLまるまる入れるのは何とかできんのかと。

編集、デバッグ、保守

すべてが大変だが。
0321初心者02/07/24 18:33ID:???
>>318
オオオオ!!!
バッチリ逝きました!!!
ありがとうございます!!!

ローカルでは\n\nでうまく行ってたのに
ミクストメディアではこんなの必要なのか・・・・・
0322初心者02/07/24 18:34ID:???
>>320
HTML外部にしたら動作重くなるから。
0323nobodyさん02/07/24 18:42ID:???
>>318
それってWindows以外で受け取っても大丈夫?
0324nobodyさん02/07/24 18:45ID:???
>>323
>>318が正しいから問題ない。
IEが悪い。
0325nobodyさん02/07/24 18:50ID:???
>>323
HTTP敵にはそっちが大正解。
0326nobodyさん02/07/24 19:28ID:???
Perlについての質問箱
http://pc3.2ch.net/test/read.cgi/tech/1017736187/
: ◆JAPH9PWA はもうそこからでんな!
みてて悲しくなったぜ。
0327nobodyさん02/07/24 19:39ID:???
Perlで日本語を使うときはEUC-jp。
0328nobodyさん02/07/24 19:41ID:???
>>327
偏見?
0329nobodyさん02/07/24 19:48ID:???
表\示
0330nobodyさん02/07/24 20:07ID:???
>>328
普通だろ。
日本語マッチとかするときに。
0331nobodyさん02/07/24 20:13ID:???
確かにEUC-JPの方がいい。
漏れはShift-Jisで使い続けてしまったせいでとても変更してられないと思い変えてないが。
これから始める人はEUC-JPにしておいた方がいいぞ。
0332nobodyさん02/07/24 20:16ID:???
正しくは Shift_JIS と言ってみるテスト。
0333nobodyさん02/07/24 20:21ID:???
>332
スマヌ
0334nobodyさん02/07/24 20:40ID:???
>>282-284
ありがとうございます
いろいろと参考にさせてもらいます
0335nobodyさん02/07/24 20:51ID:???
>>326 いい加減やめろ。
0336nobodyさん02/07/24 21:35ID:???
今掲示板をつくっていてログを読みこんで表示させるところまでは出来たのですが
よくある設定されている件数を超えると自動で「次の10件」などというアンカーを出すには
どういった処理をすればよいのでしょうか?
0337nobodyさん02/07/24 21:36ID:???
>>336
//ボタンを表示するか決定
//引数:ページ
//返値:無し
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
KENTさんのYY-BBSで半角カナが使えるようにするには
どこをどうすればよいのでしょうか?お願いします。
0339nobodyさん02/07/24 21:53ID:???
>>338
スクリプト言語の一つもまともに使えないくせによくほざく。
0340nobodyさん02/07/24 22:03ID:???
質問するみんな。
>>1は読んでるか?
0341nobodyさん02/07/24 22:04ID:???
>>340
マルチポストするなと言うのも入れてほしい・・・。
0342nobodyさん02/07/25 00:20ID:???
>>340
コテハンは荒れる元なので自粛ってのもいれてほしぃ。
0343nobodyさん02/07/25 01:08ID:???
まさに、コテハン叩きの思うつぼだな。
0344nobodyさん02/07/25 01:29ID:EsugPjEd
>>338
デコードのとこで
jcode.pl使ってる箇所をコメントアウトしてみ
0345nobodyさん02/07/25 02:08ID:/52BoRCi
perlで質問です。実行すると例えばユーザー名、パスワードを入力し、送信してくれる
プログラムが作りたいんですけど、どんなライブラリ、関数を使えばよいでしょうか?
キーワードだけでも教えていただけないでしょうか?お願いします。
0346nobodyさん02/07/25 02:17ID:???
>>345
頭の中で言いたいこと整理してからもう一度来い。
>ユーザー名、パスワードを入力し、送信してくれる
意味がわからん。何のユーザー名、パスワード。何処に送信?
0347nobodyさん02/07/25 03:03ID:???
scrachって何の事なんでしょうか?マジレスおなぎします。
0348nobodyさん02/07/25 03:06ID:GntP6rBS
from scratch=ゼロから, 初めから.
0349nobodyさん02/07/25 03:14ID:???
サンスコ。
0350nobodyさん02/07/25 03:14ID:???
http://pc.2ch.net/test/read.cgi/php/1014096840/161
0351http://www.geocities.co.jp02/07/25 06:29ID:1xMT6UXy
どなたか、Geocitiesの広告のはずし方をご存じませんか?
0352nobodyさん02/07/25 06:50ID:???
>>351 >>1を読め。

それにしても、このスレッドも堕ちたな...。
0353nobodyさん02/07/25 07:35ID:???
>>337

perlしかわからないのですが・・

0354nobodyさん02/07/25 07:45ID:???
>>353
そんなに大きな違いがあるのか?
0355nobodyさん02/07/25 08:33ID:???
>>351

if $351 == aho {
$351 = itteyoshi;
}
0356nobodyさん02/07/25 08:35ID:???
>>355
動かんぞ?それ。
0357nobodyさん02/07/25 12:08ID:???
if ($_351 == "aho") {
$_351 = "itteyoshi";
}
035835702/07/25 12:09ID:???
if ($_351 eq "aho") {
$_351 = "itteyoshi";
}
0359nobodyさん02/07/25 12:26ID:???
>>354

関数が違うので分かりません
0360nobodyさん02/07/25 13:19ID:???
renameとunlinkを使いたいのですがうまくいきません。
rename (aaa.txt, bbb.txt);
でやると実行権限がないとエラーが出ます。念のためaaa.txtのパーミッションを777に
したんですけどダメでした。
unlinkは unlink aaa.txt; とやるのですがファイルが無いとエラーが出ますなんででしょう。
0361nobodyさん02/07/25 13:32ID:???
>>360
パーミッション777のファイルがリネームもアンリンクもできないということは、
ファイルシステムが壊れています。OSを再インストールしましょう。
0362nobodyさん02/07/25 13:34ID:???
OSというのは、サーバーのOSが壊れてるって事ですか?
たぶんそれはないと思うんですけど。
0363nobodyさん02/07/25 13:34ID:???
ディレクトリのオーナー、パーミッションはどうなってんのよ
0364nobodyさん02/07/25 13:35ID:???
>>362
起こっている現象から推測すればそういうことになります。
0365nobodyさん02/07/25 13:57ID:???
http://cgi.tripod.co.jp/hello_baby/cgi-bin/aiueo.cgi
中身
#!/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:???
http://members.tripod.co.jp/hello_baby/aaa.txt
0367nobodyさん02/07/25 14:07ID:av9ITDXM
aaa.txt, bbb.txt
じゃないの?
0368nobodyさん02/07/25 14:17ID:???
すいません、出来ました。
でも今度はファイルが無いとエラーが出ます。
ファイルはちゃんとありますよね・・?
0369nobodyさん02/07/25 14:22ID:???
まだやってたんか。。。$ENV{'PATH'}を出力してみ。
0370nobodyさん02/07/25 14:22ID:v0Zz+Fi9
rename ("../aaa.txt","../bbb.txt");
こうしているんですが。
0371nobodyさん02/07/25 14:24ID:av9ITDXM
Tripodの特殊事情じゃないの。別鯖とか。よくしらんけど
0372nobodyさん02/07/25 14:24ID:???
>>370
そんなこと書かれてもそっちのディレクトリ構造知らんし。
0373nobodyさん02/07/25 14:25ID:v0Zz+Fi9
#!/usr/bin/perl
require '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
/cgi-bin/aiueo.cgi
/aaa.txt

こういう感じです。
0375nobodyさん02/07/25 14:29ID:???
>>374
ほんとにそうか?ホスト名が分かれているからCGI専用のサーバが分かれて
いるんじゃない?実際のディレクトリ構造とマウントポイント・エイリアス・
リンクなどもあるからニンともカンとも。
0376nobodyさん02/07/25 14:39ID:???
サーバのFAQ位読めよ
つーかローカルでテストやれや
外でするならKENTの設定変える以外触るな
0377nobodyさん02/07/25 15:00ID:???
renameとかってOSによって動くか動かないかわからないみたいだから
サーバー上でやらないと意味ないじゃん。
0378nobodyさん02/07/25 15:14ID:???
るせんだよ チンカス夏厨
FAQ読めっつってんだろ ああ??
おまえ日本語の不自由な方か?
0379nobodyさん02/07/25 15:24ID:???
>>378
FAQ読んだけどrenameという単語は出てこなかったです。
そんなにカッカしないでヒントになるところ教えてください。
0380nobodyさん02/07/25 15:29ID:???
tripod.co.jpはCGIはcgi.tripod.co.jpサーバ
普通のファイルがmembers.tripod.co.jpサーバ
0381nobodyさん02/07/25 15:46ID:v0Zz+Fi9
#!/usr/bin/perl
require '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 "エラー:$!";

こうやったけどダメでした。
0382nobodyさん02/07/25 15:48ID:???
>>381
痛いな。
0383 02/07/25 16:00ID:???
>>381
それだけでrenameできると勘違いしている新種の厨房(推定:中学校1年生 オナニーの覚えたて。)
0384nobodyさん02/07/25 16:02ID:???
痛いのはわかったんで何が違うのか教えてください。
0385nobodyさん02/07/25 16:03ID:???
別サーバのファイルにはLWPとか使わないとアクセスできません。
おとなしくcgi-bin/以下にファイルを置きましょう。
0386nobodyさん02/07/25 16:09ID:???
どうして、別サーバーなのに、一回のftpで両方つながるんでしょうか。
というか、一つのサーバーにつないでいるのにあたかも他のサーバーのディレクトリも見えるなんて不思議です。
0387nobodyさん02/07/25 16:13ID:???
#!/usr/bin/perl
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:???
ftpでつながるのはftpサーバ(ftp.tripod.co.jp)です
members,cgi,ftpそれぞれ別なんです。
0389nobodyさん02/07/25 16:15ID:???
>>387
errorでてもファイル名は書き換わってないですか。
0390nobodyさん02/07/25 16:19ID:???
はれ!?
ほんとだ!
変わってる!!
なんでだ!?
0391nobodyさん02/07/25 16:49ID:???
そろそろ場違いだと気付いて欲しいんだけど?
0392nobodyさん02/07/25 17:02ID:???
じゃどこで聞けばいいんですか?
0393nobodyさん02/07/25 17:06ID:???
>>378
>>382
>>383
お前ら、見ていて不快だからくるな。
0394nobodyさん02/07/25 17:10ID:???
>392
tripodのサポート。
0395礼儀厨房02/07/25 17:10ID:???
@レンタルCGIでチャットをおきたいです
APeriへのパスの指定とディレクトリをいじってみたけど
Bわかりませんでした。パスの指定とは基本的にどういうことなのでしょうか?
借りたサーバーのQAにいってもよくわかりませんでした。もっとも外国鯖なので
翻訳したのが少々わかりづらかったかなと・・・
借りた鯖はPROHOSTINGです パスの指定、ディレクトリの仕方をご教授ください
お願いします
0396nobodyさん02/07/25 17:11ID:???
>>395
Peri -> Perl
0397nobodyさん02/07/25 17:12ID:???
>395
惜しいな。
>いらっしゃーい、Perlの「コーディング」で困ってる人のスレです。
「コーディング」のスレなんだ。
設置は別のところで聞いて。
0398礼儀厨房02/07/25 17:14ID:???
>>397
あ・・・そうですね^^;
すいませんでした。ご親切にどうもです^^では
0399nobodyさん02/07/25 17:17ID:???
http://www.google.com/search?sourceid=navclient&q=PROHOSTING+FAQ

ここから探せばすぐ分かるよ
0400礼儀厨房02/07/25 17:20ID:???
>>399
スレ違いの意見に答えてくれてありがとうです><
0401XSについて再び102/07/26 02:39ID:???
俺は前スレでXSネタであらしたヤシだ(dat落ち中)
ここで適当に受け答えしてる奴らほんと全員シネヨ。(特にコテ)
今日ひさしぶりにperlxstut.txtみてやっとわかったよ。
手順言うからメモしろチンカスども。
環境はWin ActivePerlな
ftp://ftp.microsoft.com/Softlib/MSLFILES/nmake15.exe
でnmake ダウソ ファイル名はnmakeとかに直しとけ
0402XSについて再び202/07/26 02:40ID:???
h2xs -A -n Xstest でXS用のモジュールスクリプトフォルダができる
cd Xstestして Xstest.xsに
void
hello()
CODE:
printf("Hello. Tinkasu Boy!\n");
とかく。チンカスはそうお前の事だ。
んでperl Makefile.PL
nmake
nmake install
0403XSについて再び302/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:???
XSチュートも読まずに(読めずに?)スレ一本分も悩んでたのかあ
前に5.7絡みでgunzipが講釈してた様なきがするけど
やっぱり●●は想像を絶する位●●なのかなあ
0406nobodyさん02/07/26 06:08ID:???
CGI実行ユーザー名を獲得する事って可能でしょうか?
0407nobody02/07/26 06:20ID:???
whoami
040840602/07/26 07:35ID:???
有難う御座いました。
0409nobodyさん02/07/26 07:51ID:???
>>408
use User::pwent;
my $pw = getpwuid($$);
print $pw->name;
0410 ◆JAPH9PWA 02/07/26 08:58ID:???
とりあえずnmake15.exeってのはnmakeインストーラ、
というか圧縮されたプログラムなんで、実行するとnmake.exeとnmake.errってファイルが出来る(だったかな)
だからrenameの必要はないはずなんだけどなぁ。彼は実際にやってみたんだろうか。
0411nobodyさん02/07/26 09:19ID:???
>>401-403
低脳にして粘着とは救いようがないな。
0412nobodyさん02/07/26 09:29ID:???
>>411
煽りはスピードが命。
0413nobodyさん02/07/26 13:48ID:???
opren(file-handle, "filename") || &error("ファイルが開けません");

この || って、ダメだったらって意味ですか?
0414nobodyさん02/07/26 13:50ID:???
>>413
もしくは。

ifの中のと一緒だ。

前の式がtrueなら後ろの式は評価されないと言う性質を逆手に取った
他の言語ユーザに見せたらどつき倒されそうな処理です。
0415nobodyさん02/07/26 14:02ID:???
perlでしかやらない方がいいという書き方って事ですか。

あと、
sub auto_link {
  $_[0] =~ s/([^=^\"]|^)(http\:[\w\.\~\-\/\?\&\=\@\;\#\:\%]+)/$1<a href=\"$2\">$2<\/a>/g;
}
これはURL文字列を自動的にリンクにするサブルーチンですけど、
自分は正規表現が複雑なのはわかりません。
でもサブルーチンは便利で引数だけ渡せば意図する結果を返してくれます。
サブルーチンの中の正規表現をわざわざ噛み砕いて理解する必要はありますか?
まぁ、これがわからないと自分でいちから作れないという訳になってしまいますが。
0416nobodyさん02/07/26 14:03ID:???
>>414
括弧の多い言語では普通ですが、何か?
0417nobodyさん02/07/26 14:09ID:OgCRHfVm
1:自分はこう言う事がしたい。

 script01.plをuser01で実行し、その中からsystem関数を使って
script02.plを実行させたい。
 ただし、script02.plは、user02が実行したものとしたい

2:それでこんな風にやってみたが・・・

 perl -h で起動オプション調べてみましたが、起動ユーザーを指定
する方法がありませんでした。

 何か、スクリプトを起動するユーザーを選択する方法ってないでしょうか? 
0418nobodyさん02/07/26 14:17ID:???
>>417
script02.pl をsetuidモードにでもしとけ。
0419nobodyさん02/07/26 14:39ID:???
>>416
そうか?Cとかで


fp = fopen("m","r") || printf("error!");

なんてコード書いたら多分干される。
0420nobodyさん02/07/26 14:49ID:OgCRHfVm
>>418

googleで調べたら、chmod 4755 script02.pl でsetuidモードになるようです
が、やはりだめでした。

script02.pl は、PostgreSQL への INSERT文を集めたスクリプトなんですが
database not connecti が出ますね。

いや、言わないでください。GRANTでデータベースの方に権限与えれば
っていうのは重々判ってはいるんですが、script01.plを実行するユーザは
nobodyにしたいんですよね。将来、CGIにする為。
dbにnobodyの権限を与えるのを躊躇ったものですから、script02.pl を
PostgreSQLユーザーの権限にしておいて、実行ユーザーを換えようと
思ったんです。

どうも、この方法はだめなようですから、GRANTを検討してみます。
0421ハニホ・ヘニハ02/07/26 15:09ID:???
>>420
接続時のパスワード設定すりゃいいじゃん。病院いっとく?
0422nobodyさん02/07/26 15:31ID:???
サブルーチンの終わりの
return $hoge;
↑ってどういう意味があるんですか?
0423ハニホ・ヘニハ02/07/26 15:34ID:???
>>422

>>1をよく読みましょう。それくらいなら検索いっとく?
0424nobodyさん02/07/26 15:52ID:NvB7dZaP
サブルーチンを呼んだ側に戻り値を返す。
042542202/07/26 15:54ID:???
>>423
ゴグってみましたんですがいい所があったのに僕の頭のメモリーが足りませんでした。
0426nobodyさん02/07/26 15:55ID:???
if(-e hoge.txt){ print "OK"; }
else{ print "NO"; }

cgiファイルと同じディレクトリにhoge.txtがあるんですけど
NOしか出てきません。なぜですかね。
他のファイル演算子も試しても全部elseになっちゃいます。
042742202/07/26 15:55ID:???
>>424
ありがとうございます。
それなんですが無くても動作する場合とかがあるんですが。
どういうことですか?
042842202/07/26 15:57ID:???
if(-e $hoge){print "f";}
else{print "b";}
0429nobodyさん02/07/26 16:00ID:???
>>427
Perlは一番最後に処理されたステートメントが「自動的」に
戻り値になる:

sub FOO_1 { 1 }
sub FOO_2 { return 1 } # FOO_1 と戻り値は一緒

sub BAR { FOO_1() } # 戻り値はFOO_1の戻り値
0430nobodyさん02/07/26 16:00ID:???
>>427
無い場合は最後に評価した値を返す
0431nobodyさん02/07/26 16:01ID:NvB7dZaP
戻り値を必要としないサブルーチンだったら要らないというだけでしょ。
returnを書かなかったら最後に評価された式の値が返るんじゃないの。たしか。

>>426
サーバがIISかPWSとか?
0432nobodyさん02/07/26 16:01ID:NvB7dZaP
すごいかぶったね。
0433nobodyさん02/07/26 16:01ID:hk7TA9Ju
http://js-web.cside.com/
0434nobodyさん02/07/26 16:02ID:???
>>426
それってhoge.txtを""でくくってないからとかいうオチでは?

例えばコマンドライン上から以下を実行するとOKはプリントされないけど

perl -e 'print "OK" if -e hoge.txt'

これはOKってでるみたいよ:

perl -e 'print "OK" if -e "hoge.txt"'

これまたuse strict;しないからそういうエラーがでるわけだ・・・
043542602/07/26 16:08ID:???
えっと、ftpでつないだときに表示されるディレクトリの一番上から記述したら
一応ファイルがあることは確認できました。
$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でした。
なぜでしょうか。
043642202/07/26 16:10ID:???
>>429
sub BARみたいな使い方があるんですね。
初めて知ったことなので勉強になりました。
ありがとうございます。
>>430-431
最後に評価された式の値が帰るような書き方をすればreturnは別になくてもいいのですね。
>>434
そんな気がしました。
043742202/07/26 16:13ID:???
>>435
$a="hoge.txt";
$b="hoge2.txt";
rename($a,$b);
043842202/07/26 16:15ID:???
>>435
ごめんたぶん間違い。
043942202/07/26 16:16ID:???
$dir="hoge";
$dir$a
$dir$b
こうかな?
0440nobodyさん02/07/26 16:16ID:???
>>436
単一式のルーチンだったらreturnははしょってもいいと思うけど、
基本的には見易さとメンテの事を考えてちゃんとreturnを使用するのを
お勧めする
044142602/07/26 16:16ID:???
えっと、ディレクトリの一番上から書くというのは関係なかったみたいです。
で、
$a="hoge.txt";
$b="hoge2.txt";
rename($a,$b);
で試すんですけど、「Permission denied 」とエラーが出ちゃいます。
0442nobodyさん02/07/26 16:17ID:???
>>437
"home"の前にスラッシュが抜けてるとかいうオチではないだろうか・・・
044344202/07/26 16:18ID:???
間違った。>>435だった
0444nobodyさん02/07/26 16:18ID:???
>441
ディレクトリのパーミッション変えろ。
044542602/07/26 16:21ID:???
>>444
で、で、でで、出来ました。
755を757にしたら成功しました。
でも、勝手にパーミッション変えても平気なんでしょうか。
他の人のcgiファイルとかもあるんですけど。。。
044642202/07/26 16:22ID:???
>>440
returnは毎回使いことにしました。
ご教授ありがとうございます。
044742602/07/26 16:23ID:???
cgi-binのディレクトリのアクセス権を変えるのはなんとなく嫌なので
cgi-bin/mycgi/hoge.cgi
cgi-bin/mycgi/hoge.txt
と、cgi-binの中に専用のディレクトリを作って、mycgiのパーミッションを757にした時
cgi-binは755のままでも平気ですか?
0448nobodyさん02/07/26 16:25ID:???
>>447
調子にのるな! 聞く前に自分で試せ! 典型的なバカだなオマエは。
044942602/07/26 16:28ID:???
す、すいません!調子に乗りました!
自分で試します!!
0450nobodyさん02/07/26 16:30ID:???
>典型的なバカ
ワロタ
0451nobodyさん02/07/26 17:20ID:???
>>447
何を持って平気と言うか分からんが
そんなに心配ならcgi-binディレクトリのパーミスを400にでもしとけば?
0452nobodyさん02/07/26 17:23ID:???
>>451
nobodyが手出し不能になる罠。
0453nobodyさん02/07/26 17:28ID:???
掲示板のCGIで、フォーム内に改行いれると
表示も改行出来るようにしたいのですが
一行に繋がってしまいます。
問題の一行なんですが

$text =~ s/\n/<BR>/g;

間違ってますかね?
0454nobodyさん02/07/26 17:31ID:???
>>453
\r\nとかね。
0455nobodyさん02/07/26 17:53ID:???
>>453
そんな説明しかできないからいつまで経っても…
0456nobodyさん02/07/26 17:56ID:???
>>455
うむ。
でも、理解できてるならヒントくらい出してやりな。
まぁ、出せないか。
0457nobodyさん02/07/26 18:01ID:???
>456
見苦しすぎ…。
>454の言ってることを半分でも理解してみな。

夏だなぁ。
045845302/07/26 18:03ID:???
>>454
おおおおおおおおおおおおおおおおおおおおおおおおーーー!!!!!!!!!!
素晴らしい!!!!!!!!!!!!!!!!!!!!!!!!!!
有難うございます!!!!!!!!!!!!!!!!!!!!!!!!!!!
0459nobodyさん02/07/26 18:04ID:???
>>456
説明不足だからヒント出すにしても範囲が大きくなってしまう。
実際のスクリプトの1行だけを見せられても、前後の関係で実際に処理されて
いるかどうかさえ見当もつかないよ。
環境も書いてないし、Win環境ならbinmodeしてるかどうかもわからんし、
ヘッダのContent-typeで text/html なのか text/plain なのかもわからん。
0460nobodyさん02/07/26 18:05ID:???
>>457
見苦しすぎ。w
ヒントだ、調べて答えてやれ。

よくあるフォームで入力した場合の改行コードをHTMLで改行するための<br>に置換したい。
しかしあの一見間違ってはいないコードでは置換できない。
なぜか?だってさ。



0461nobodyさん02/07/26 18:21ID:???
>>426 == >>453
0462nobodyさん02/07/26 18:45ID:???
rthyj54jhyjhioujhiyujitjhitjijtohjtihjtoijhiotjhiotjhoitj
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:???
「「「「「さよならあああああああRRRRRR
おおおおおおおお「−0:「;:
0465nobodyさん02/07/26 19:08ID:0TP2S/Vp
flockの質問。
lock中他の書き込みを制限しますが、
待たされる方はずっと待っているようです。

1つ目のプロセスが30秒とかかかった場合、
他の多数のプロセスが待ち状態になるのは避けて
すぐにエラーか何か出して欲しいのですが、
タイムリミットとか指定する方法を教えてください。
0466nobodyさん02/07/26 19:09ID:???
>>465
スレッド作って非同期IOを実現。
0467XSer/1 ◆keVp6ehw 02/07/26 19:47ID:???
     ∧___∧_
  /    \   /  \
 │     ●   ●    │   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 │     /\_/\   │  < 帰ってきたぜチンカスども
  \__│●   ●│_/    \_________
   /    \/ ̄\/  ヽ
  /              ヽ
 /                ヽ
 >/│   _       │\ <

まともに反応できたのが糞コテの生き残りJAPH9PWAだけとはな、、
どうせここは WEB製作板とム板のファイヤーウォールだろうからなしゃーねな。
まぁ中には防火壁をやぶった糞コテもいるがな 括弧笑い。
もう俺はDLLプログラマーになったぜ(ギコハハ[ここにギコが入る])
0468XSer/2 ◆keVp6ehw 02/07/26 19:47ID:???
前の.xsファイルにこれを追加する
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
nmake installだ。
でPerlスクリプトでuseして&windで呼び出したらメッサゲボックス君が
宇宙の心理を語ってくれる。
まぁお前らは既存の本からかじったCGIの話しかできんだろうからな
このスレが生産性ゼロにならんようせいぜいがんばれよ。
あばよチンカスども。もうこねーよのぉうわーんってか?

(注)チンカス=[80%の]回答者と糞コテ
後、俺はファイルロックの話が嫌いだ。専用スレでやれ。
0470nobodyさん02/07/26 19:52ID:???
>>467-468
そのままコテハンで書いてくれ。その方が楽でいい。
0471nobodyさん02/07/26 19:55ID:???
つまりフィルターして透明あぼーんすると言う事か
0472nobodyさん02/07/26 22:52ID:0TP2S/Vp
>466
安定した処理を作成したいと思っています。
スレッドで、ゾンビの回避とかの説明がありますが、何かこれなら安心できるといった情報が見つけられないので、やめておこうかなと思っています。
プロセスが多数たまるよりは、symlinkロックの方がいいかなという思いになりました。
0473 ◆JAPH9PWA 02/07/26 23:56ID:???
そんな貴女にノンブロッキングモード。

use Fcntl qw(:flock);

flock FILEHANDLE, LOCK_EX | LOCK_NB or die "他のプロセスがロックしてるっぽいです。";

後はコレとループとsleepを組み合わせればよし。
0474nobodyさん02/07/27 11:57ID:XCYe1qpS
現在、perlでデータファイルを扱うために、flockしながら、ファイルを
オープンして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(ファイル書き込み?)は、排他制御
は自動で行われるんでしょうか?
0475nobodyさん02/07/27 12:47ID:???
>>474
DB_Fileモジュールのマニュアルを読んで幸せになりましょう。
0476nobodyさん02/07/27 18:06ID:???
ファイルの最終更新日を指定する事は可能でしょうか?
0477nobodyさん02/07/27 19:11ID:???
>>476

>>1をよく読めやVOKEGA!
0478Xeser ◆keVp6ehw 02/07/27 20:14ID:???
>>472-475 お前ら喧嘩売ってるだろ?
今日、本屋でオライリー.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:???
#(ここでトリップ変える:#kusokote)
チンカスどももその低脳な脳みそでも使ってすこしは社会に貢献しろよ。
それともその脳には自分が儲けることしか入ってないのか?糞だな。
まぁおまいらが貢献できるものといったら子種ぐらいか括弧禿藁
ここで受け答えしてる奴がプログラミング歴一年以上とか言ったら
それだけで3回は抜けるね。うんこぶりぶり。#(効果音)
悔しかったらVCで俺より先にPerl5.8コンパイルして晒せや。
あとPerl=CGIとかCGI=Perlとか思ってる奴そこに一時間正座(゚Д゚メ)!
(注)チンカス= お前ら= [80%の]回答者と糞コテ
0481nobodyさん02/07/27 20:18ID:???
        ..;llll;~~~~~~~~~~~~~~~'';;;;;l;;,,
      .;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:::;'''''        ・
           ''''''';;;;;;;;;;;;;;;;;;;;'''''''
              /\           )
           ..^ヽ/  \ノヘ     三  )
           .. /    \        )
            .. ̄| ̄ ̄|~
             __|   |_
0482nobodyさん02/07/27 20:38ID:???
糞コテ消えてくれないかなぁ。>>478-480
0483nobodyさん02/07/27 20:56ID:???
コテハンを目の敵にしても、今はJAPH9PWAしかいない罠

固定ハンドル叩きたけりゃ、聞かれもしない低レベルな白痴話をぐだぐだ書くより、
コテハンのレスの技術的な間違い探しでもやった方が早いと思うよ。
0484nobodyさん02/07/27 21:49ID:???
糞でも何でも良いから役立ちそうな事書いてくれたら嬉しい
(3:7=ネタ:罵倒 まで許容)
随分XSに熱心な様だけど、あれって必至になって使う価値有る?
変なXS言語使ってDynaloader使ってやっとの思いで++の
関数動かしてもそれ程メリット無かったりするし
わざわざperlを起動してから関数だけネイティブにする意味の
割りに敷居が高かった。
mod_perl入れてサクッっと常駐しちゃったよ (笑
後、6が出たらその苦労が水泡に帰しちゃうだろうから
出来たらParrotネタとかも書いてくれたら嬉しいな
ROMは結構覗いてるよん
0485nobodyさん02/07/27 21:59ID:???
>>479
と言うかperl5.8をVCでコンパイルしてるのは何故? >リンク先の人
ActivePerl?
意味が全然理解出来ないんだけど
今からCygwinでやってみるけど
0486nobodyさん02/07/27 22:02ID:???
うわっ、良く読んだらやっぱりtar玉からWINのバイナリ作ろうとしてるんだ
この人。。。
悲惨
0487nobodyさん02/07/27 22:23ID:???
>>478
実際にやっていないことがすぐに分かる文だな(w
白痴なんだから無理しなくていいよ。
0488jjcocodede02/07/27 22:32ID:KJ5wNO6P
jcode.pl使ってます。
別ファイルのままrequireするのが嫌なので、
ソース最下にコピーしてみました。

ローカルでソース内の文字をgetcodeするとSJISになりました。
サーバーに上げてから、getcodeをするとJISになりました。
ソースはSJISです。
なぜJISになるのでしょう。というかSJISになるようにアドバイス希望します。
048948602/07/27 22:35ID:???
おお! 5.8て全OS共通なんだな、初めてしったよ
と言うわけでBCC5.5.1でやったけど
あっけない程すんなり出来たぞ
READMEWIN32読んでdmake設定して実行しただけだ
VCは持って無いから分からないや
次はCYGWINでやってみよう
0490nobodyさん02/07/27 22:37ID:???
VC++では、win32ディレクトリでnmakeするだけで終わります。
Perlのコンパイルもロクにできない >>478は消えてください。
0491 ◆JAPH9PWA 02/07/27 22:41ID:???
>>484
XSってそんな使いにくいかな。
まぁ確かに構文は独特だし奇妙な癖はあるしPerlAPIは難しいけど、別に必死というほどでもないような。
ポインタIVに変換してをblessするとC+ガベコレってな感じで結構面白いし。(遅いけど)
私は好きだな、XS。

Parrotネタはサッパリ分からないなぁ…_g...たん来てくれないかなぁ。
0492nobodyさん02/07/28 01:12ID:???
>>488
以下の文字列で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:???
>>494
@manko=("tinko","kuso","onani");
$aho494=@manko;
print $aho494;

次あげたら殺す
0496nobodyさん02/07/28 11:44ID:???
scalar
0497nobodyさん02/07/28 12:06ID:???
ありがd
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;
0499nobodyさん02/07/28 17:27ID:???
>>498
>>1をよく読め。
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
050149802/07/28 18:37ID:???
>500
http://openlab.ring.gr.jp/k16/htmllint/explain.html#excluded-url

ここを参考にして使ったらいけない文字以外にマッチさせるように書きますた。
あとm//内では$1は\1というふうにもかけます。
0502nobodyさん02/07/28 18:44ID:???
後方参照するとき \1 とかって使えたっけか。
0503nobodyさん02/07/28 19:36ID:???
>501
>あとm//内では$1は\1というふうにもかけます。

は?、オメーの書いてるのは s だろが糞ハゲ
第一宇宙速度で壁に激突して師ね!
0504nobodyさん02/07/28 19:37ID:???
スラッシュも無いからどうせリンクにならねーんだよ
糞ハゲ異臭バカが
0505nobodyさん02/07/28 19:55ID:NiNmHVdY
拡張子判別で
raとrarの区別ってどうするんですか?
拡張子はにててもかなり違うんですが、、、。
0506nobodyさん02/07/28 19:56ID:???
>>505
ウ  ザ  イ   ! !
消  え  ろ   ! !
050750502/07/28 19:58ID:???
やっぱり夏ですか。
できたんでもういいです。
0508nobodyさん02/07/28 19:59ID:???
>>507
君が  【夏厨】   なの!
OK?
050950502/07/28 20:02ID:???
>>508
てめぇは夏だからって調子に乗っとんなよ
0510nobodyさん02/07/28 20:03ID:???
>>509
君の存在そのものが【猿】なの!
U see ?
051150502/07/28 20:04ID:???
>>510
君ういてるね。
猿は自分じゃん。
0512nobodyさん02/07/28 20:05ID:???
中卒塗装工は中卒らしく珍走でもやってなさいって
苦手な脳みそ運動は苦痛でしょう
right?
051350502/07/28 20:06ID:???
>>512
生ごみはとっとと処分されてね。
じゃ。
0514nobodyさん02/07/28 20:07ID:???
>拡張子判別で
>raとrarの区別ってどうするんですか?
>拡張子はにててもかなり違うんですが、、、。

この質問の頭の悪さはTNT火薬500万トン級の破壊力があります
そんな君は絶滅危惧種並みの、イッツ馬鹿モンキーなんですよ
OK?
0515nobodyさん02/07/28 20:08ID:???
>raとrarの区別ってどうするんですか?

もう見てるコッチが恥ずかしくなってしまう。
おまけに逆切れ
バカな事をバカだと指摘してあげたのに
「夏ですね」だって  (惨
ああ、バカのココナッツパラダイス
バカのオナニーは永遠に続くのであった
0516nobodyさん02/07/28 20:10ID:???
>>515
痛いクソ野郎がほざくなYO!
0517nobodyさん02/07/28 20:13ID:???
>>513
生ゴミに失礼です、生ゴミはエネルギーも再生資源にもなり得ます
2chで
>raとrarの区別ってどうするんですか?
と聞くホームラン馬鹿には再生の余地も有りません
絶望的です

>>516
痛いクソ野郎に失礼(略
0518nobodyさん02/07/28 20:25ID:???
rar$
ra$
0519( ´,_ゝ`)02/07/28 20:28ID:???
505 :nobodyさん :02/07/28 19:55 ID:NiNmHVdY

拡張子判別で
raとrarの区別ってどうするんですか?
拡張子はにててもかなり違うんですが、、、。
0520nobodyさん02/07/28 20:32ID:???
痛い質問に対しては、放置するか、やんわりたしなめる程度に抑えた方が。
いちいち煽ってレスが流れるのは勿体ない。
0521nobodyさん02/07/28 21:04ID:ODyMXFdC
>503
s///でした。

>504
スラッシュは含まれています。アスキーコードを勉強してください。
0522nobodyさん02/07/28 21:16ID:???
>>521
うるせーっつってんの 恥さらし犬畜生が
http:www.hoge
なんてURLはアルツハイマーのお前の脳内にしか存在しないの
ここは現実世界のBBSですよ
妄想の旅に帰りなさい
0523nobodyさん02/07/28 21:18ID:???
クソの分際で生意気なチンポ猿だな全く
ムカつくぜ
0524nobodyさん02/07/28 22:05ID:???
           ___
    .      |(・∀・)|
     .      | ̄ ̄ ̄   ジサクジエン共和国
         △
        △l |
   __△|_.田 |△_____
      |__|__門_|__|_____|_____
0525nobodyさん02/07/28 22:31ID:???
>501
http://www.din.or.jp/~ohzaki/perl.htm
折角書いたんだからリンク先を良く読むように
もし本当に存在するURIのみを抽出したいのであれば
498では全く不完全。
どうせ不完全なのだから、500では簡単の為に書いた

あと、¥1はこの場合あなたの望んだ動作をしないと
思ったので、間違えてると書いた
分かってるなら聞くなよっつー事だ
0526nobodyさん02/07/29 02:02ID:3jabpJuB
755とか777とか言うの
これどうやって変えるの?
出来るだけくわしく頼むよ
0527nobodyさん02/07/29 02:08ID:???
板違い
0528nobodyさん02/07/29 02:24ID:3jabpJuB
PERLだっつーの(ワラ
0529nobodyさん02/07/29 02:26ID:???
キチガイ。
0530nobodyさん02/07/29 02:26ID:yQQSPnn5
http://js-web.cside.com/index.html
0531nobodyさん02/07/29 02:26ID:???
いらっしゃーい、Perlの「コーディング」で困ってる人のスレです。

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

1と3が無いと誰も答えられないよ。
良い回答は良い質問から。一緒に勉強しましょう。
0532nobodyさん02/07/29 02:29ID:3jabpJuB
だから

755とか777とか言うの
これどうやって変えるの?
出来るだけくわしく頼むよ

だってのに(ワラ
0533nobodyさん02/07/29 02:34ID:???
http://tohoho.wakusei.ne.jp/wwwxx012.htm
0534nobodyさん02/07/29 14:09ID:???
念じろ
0535nobodyさん02/07/29 14:18ID:???
>>532
s///;使って置き換えれば?
0536nobodyさん02/07/29 15:32ID:???
>>535
ありがと。おかげで777に変えることができたよ。
0537nobodyさん02/07/29 18:20ID:???
掲示板をつくっているのですがどうも%FORMの中に書き込みデータが入ってないんです
原因がわからずこまっています以下がそのコードの一部です

<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:???
何が原因なのでしょうか?
0540nobodyさん02/07/29 18:47ID:???
>>537
フォームから送られてくるデータはどんなふうにばらしてるのよ
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/
foreach $mail @MAIL{
#$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/
nowloading.html
が表示されたまま。
無理でした。
0545nobodyさん02/07/29 20:05ID:???
>>541
あげんな。
思うのはここへきてる人間がもしあなたにそれを教えてさ
あんたが儲かるわけでしょ?バイトか仕事かしらんけど。
露骨過ぎだよ、、アホだ。あんたが俺になんかしてくれるのか?
なら答えてやるぞ。
それともネタか?違うだろうなあげてるもんな。
0546スレ違いだよな02/07/29 20:39ID:???
Nowloadingでセッション閉じるから無理だよ
メタタグ入れて読ませたり出来るけど、共用してるだろから
ユニークIDとかトランザクション辺りでカッコ悪くなるでしょ
それがCGIの限界。
と言うわけで、Nowloading.htmlの推奨内容
どうせsendmailの先で死ぬ事も有るんだし  (笑

メールを送信しました、上手く行くかどうかは分かりません (^o^)/~~
0547nobodyさん02/07/29 20:49ID:???
>>540

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:???
>547
どうやって$FORM{'cmd'}に入れてるんだ?
勝手に入るとか思ってたりはしないよな?
まさかそこまで馬鹿じゃないよな?
夏とは言えそこまで馬鹿はいないと信じたいな。
0549nobodyさん02/07/29 21:21ID:zYJTXqe4
perlで書いたcgiの中でファイルを作成すると、
所有者がapacheとなります。この所有者は好きなのに変えられないのですか?
055047402/07/29 22:10ID:???
>>475
マニュアルはperldocやweb等いろいろと見てみたのですが、全然ロックに関する
記述が無いんです。(T_T
しかし、dbと名が付いているくらいだからロックくらいはしてくれるだろう、
ということでとりあえずsdbmでやってみようかな、って思ってます。
でも微妙に気になる。(w
0551nobodyさん02/07/29 22:15ID:???
>>547

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;
}
0552nobodyさん02/07/29 22:45ID:???
>>545
振込先でも晒しとけば
0553nobodyさん02/07/29 22:45ID:7AOu/QAw
$right =~ s/</&lt;/g;
をウマーク変えて
□□□(文字列)→<font color="#ff0000">★</font>
な感じに出来ないでしょうか?
0554nobodyさん02/07/29 22:47ID:???
出来るよ。
0555nobodyさん02/07/29 22:50ID:7AOu/QAw
>>554
やり方を教えて頂ければこちら側としては非常にありがたいのですが…
0556nobodyさん02/07/29 22:52ID:???
>>545
漏れに金くれるんならいい案提示してやるぞ!
print ".";
0557nobodyさん02/07/29 22:53ID:???
>>541だった。すまん。
0558nobodyさん02/07/29 22:54ID:???
>>555

$right =~ s/□□□/<font color="#ff0000">★</font>/g;
0559nobodyさん02/07/29 22:55ID:???
>558
いんたーなるさーばーえらー
0560nobodyさん02/07/29 22:57ID:7AOu/QAw
>>555
ありがとうごだいます。
試してみます。
056155502/07/29 22:58ID:7AOu/QAw
>>559
だめなんですか?

↑のは>>555じゃなくて>>558
0562nobodyさん02/07/29 22:59ID:om5W19We
Perlでプログラミングを勉強してます。
本はリャマ第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:???
>>561
わりぃ。
間違えてた。

$right =~ s/□□□/<font color="\#ff0000">★<\/font>/g;
056455502/07/29 23:08ID:7AOu/QAw
>>563
再度トゥライしてみます。
056555502/07/29 23:19ID:7AOu/QAw
>>563
出来ました。
本当にありがとうごだいました。
0566nobodyさん02/07/29 23:20ID:???
>>562
と言うか、配列を ” で囲んでprintfに投げると
デフォルトの区切り子を挿入しちゃうんですよ。
$. と $” だったかを弄って見れば分かる筈

@list = qw(hoge foo bar);
print @list;
print "\n";
print "@list";

0567nobodyさん02/07/29 23:23ID:???
>>562

"" は普通の文字列の書き方。変数展開とか \ のエスケープとか有りの。配列
変数も展開してくれるそうで。

3.7 配列を文字列中に展開する
「同様に、配列変数から…間にスペースをはさんで、順番に展開されます」

だそうです。実際には、特殊変数 $" の値で区切られるはず。"" で囲まずに
print する場合には、$, (デフォルトは空文字列) で区切られます。

> それと、reverseの引数はカッコ無しでも有りでも変わらないようなのですが、
> あっても無くてもいいのでしょうか?

この場合には無くてもいいけど、必要な場合もあるらしい。この辺は、漏れも
よく分らない。考えるのが面倒なので、大抵 () を付けるようにしてるけど。
056856202/07/30 00:12ID:hgHyxKDS
>>566-567
なるほど。
$" と $, はまだ勉強していないのでよく分からないけど、
" " の有無による違いは何となく分かりました。
引数のカッコ、とりあえず付けとけば問題無し、ということで
原則かっこ付きで逝きます。
どうもありがとうございました。
0569nobodyさん02/07/30 10:04ID:???
記事noを取り出したいとき
@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
http://www.ruitomo.com/~gulab/index.html
ここでスレを調べなされ
0571nobodyさん02/07/30 10:16ID:???
perlで書いたcgiの中でファイルを作成すると、
所有者がapacheとなります。この所有者は好きなのに変えられないのですか?
0572nobodyさん02/07/30 10:48ID:???
>>571
変えられない。
0573nobodyさん02/07/30 10:56ID:???
配列から別の配列に同じ物を一気にぶち込みたいときは、
@new = @old;
でいいですか?
試したら一応出来ましたけど。
0574nobodyさん02/07/30 11:22ID:???
$hoge =~ s/\Q$pair\E/<b>$pair<\/b>/g;
これの \Q \E の意味が良くわからないです。
0575nobodyさん02/07/30 11:30ID:???
>>571
基本的に変えられませんが、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");
こうやったんですけどうまくいかないです。
0577nobodyさん02/07/30 11:58ID:???
>>576
&jcode'convert(*word, "sjis", "", "mo-musu");
0578nobodyさん02/07/30 12:27ID:???
>>576
perlメモ見れ
ttp://www.din.or.jp/~ohzaki/perl.htm#JP_Z2H
0579nobodyさん02/07/30 12:43ID:???
>>575=577
氏ね氏ね氏ね氏ね氏ね
058057602/07/30 13:37ID:???
perlで日本語を使う時の注意がわかってきました。
で、今は普通にSJISでperlを書いています。
>perl スクリプトを EUC-JP で書き, 漢字コードが EUC-JP である日本語を処理するというのが、
>perl で日本語を扱うときに一番問題が起きにくい方法です。
という事はスクリプトを保存する時のコードをEUCに変更した方がいいんでしょうか。
FORMのデコードも全部EUCに変換しなきゃいけないですよね。
0581nobodyさん02/07/30 13:51ID:???
>>580
調子に乗るな! >>1を読め!
058257602/07/30 13:59ID:???
す、すいません!調子に乗ってしまいました!!
0583nobodyさん02/07/30 14:39ID:???
>>582

キエロ

二度と来るなよ

来たらおまえのサイト荒らすべ

0584nobodyさん02/07/30 19:11ID:???
掲示板で

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

と長い半角文字を入力すると記事を表示する枠が勝手に広がってしまいます。
どうすれば枠の幅はそのままで記事は改行されてきれいに収まるように出来るでしょうか?
0585nobodyさん02/07/30 19:22ID:???
>>584
cssつかえ
0586 ◆FANY.jpg 02/07/30 20:39ID:???
画像ファイル(*.jpg)を開くと、画像毎に見た人の数をカウント
したり、見た人のホスト名を記録するフリーのPerlを探してます。
どこかにありませんか?教えてください。

プログラムは組めませんが、設置する基本的な知識はあります。
よろしくお願いします。
0587nobodyさん02/07/30 21:00ID:???
>プログラムは組めませんが、設置する基本的な知識はあります。

だけど検索することはできないんだね
0588nobodyさん02/07/30 21:11ID:w4X2IPfe
@INCにパスを追加する方法教えてください・・・・
0589nobodyさん02/07/30 21:24ID:???
#!/usr/bin/perl -I
0590nobodyさん02/07/30 22:02ID:???
>>586

スレ違い
0591 ◆FANY.jpg 02/07/30 22:51ID:???
>>587
検索してるんだけど、見つからないんだな。
カウントするヤシはイパーイあるんだけど、ログを残すのが無い。

>>590
どこで聞けばいいのだ?
プログラム板は初めてで、初心者の文字があったもんで・・・
0592nobodyさん02/07/30 23:08ID:???
my の事で質問です。

my $hoge;
my $hoge2;

my $hoge, $hoge2;
はどう違うんですか?
検索もして自分でも試しましたが答えを見つけることが出来ませんでした。
ご教授お願いします。
0593nobodyさん02/07/30 23:56ID:???
>>592
って、全然違うじゃん。
> my $hoge, $hoge2;
myが効いてるのは$hogeだけ。my( $hoge, $hoge2);で上と同じ。
059459202/07/31 00:59ID:???
>>593
ありがとうございました。
523=Perlの神!
0595nobodyさん02/07/31 01:01ID:???
>>523

523 名前:nobodyさん 投稿日:2002/07/28(日) 21:18 ID:???
クソの分際で生意気なチンポ猿だな全く
ムカつくぜ
0596nobodyさん02/07/31 01:04ID:???
>>594
感謝にギャグってくれるとはなかなか、、
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+tD0
splice
0599nobodyさん02/07/31 01:40ID:???
>>597
@X = ("A","B","C","D");
splice(@X, 2, 0, 'mo-musu');
0600nobodyさん02/07/31 02:54ID:???
use LWP::Simple;
これ以外でWEBページを取得する方法はありますか?
現在借りているサーバーにはモジュールがありやがりやせん。
0601nobodyさん02/07/31 03:06ID:???
>>600
面倒なのでコピペ
お前これみて分るか?
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
引数の文字列の長さを求めたい時、PHP4では"strlen()"関数にて

$a = "abcd";
$a = strlen($a);

echo ("$a\n");

という風な記述をすると思うのですが、これをperlに置き換えたい場合はどの様にすれば宜しいのでしょうか?
0604nobodyさん02/07/31 03:35ID:???
現在perlで quota の設定ができるものを作成中なのですが、
通常であればシェルで

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 を使用しております。

それでは宜しくお願いいたします。
0605上げたらいかんぜよ02/07/31 03:37ID:???
>>603
length関数

$hen="tinko";
$kuso=length $hen;
print $kuso;
0606nobodyさん02/07/31 03:40ID:???
>>604
マルチ近視
それでは宜しくお願いいたします。ってのがネタっぽいからなぁ〜
文章書き換えてプログラム板に逝け
0607nobodyさん02/07/31 07:53ID:y2pKIymG
>605
示して頂いた例通り(変数名は別のものですがw)試して、巧く機能させる事が出来ました。お蔭さまで助かりました。

何分、糞imodeに対して別途"Content-Length"値を与えなならんと聞いたものですから‥
0608nobodyさん02/07/31 07:55ID:???
んげ、ageたらアカンかったんでしたね‥
0609nobodyさん02/07/31 08:45ID:???
>>585

CSSでどうやってやるのですか?
0610nobodyさん02/07/31 08:49ID:???
>609
CSSスレで聞け。
0611nobodyさん02/07/31 09:13ID:phubboAl
http://www.afz.jp/%7En_mattun/2ch/swf/R3_temp.html

これを見れない原因として、何が考えられますか?
0612nobodyさん02/07/31 09:24ID:???
いらっしゃーい、Perlの「コーディング」で困ってる人のスレです。

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

1と3が無いと誰も答えられないよ。
良い回答は良い質問から。一緒に勉強しましょう。
0613nobodyさん02/07/31 09:35ID:qpj2RbUE
サブルーチンファイルの書き方と
本体からの呼び方の
決まりが書いてあるページが見つかりません。
教えて下さい。
061461302/07/31 10:35ID:qpj2RbUE
補足
同じファイルにサブルーチンを書いて呼ぶ方法はわかります
別のファイルにサブルーチンを書いて呼び出したいんです
0615nobodyさん?02/07/31 11:23ID:???
>>613
require で読み込むのだ。
読み込んだ後は、普通にサブルーチン呼び出すと。。
0616nobodyさん02/07/31 11:51ID:UyjmARAz
誰か教えてください
ppm 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:???
>616
サーバがメンテ中とかやないの?
0618nobodyさん02/07/31 12:32ID:???
>>613
詳細は省き、必要最低限のみ。
サブルーチンの書かれたファイルを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:???
>>592
>> my $hoge, $hoge2;

ラクダ本216より
この演算子(my)はコンマよりも優先順位が高いので、2個以上の変数を指定する場合
には、変数の並びをカッコで囲まなければならない。
0620nobodyさん02/07/31 12:42ID:???
>>588

use lib 'pass';
で、@INCの頭にpassが入る。
062161302/07/31 12:46ID:???
>>615
で、できますた!

test_sub.cgiの記述

sub test{print"てすと";}
1;


test.cgiの記述
#!/usr/bin/perl

require './test_sub.cgi';

&test;

>>618
更に高度な技のご伝授で感激です。
これから解析して勉強します。

お二神様ともありがとうございます。
0622nobodyさん02/07/31 13:27ID:???
いらっしゃーい、Perlの「コーディング」で困ってる人のスレです。

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

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

過去ログ、その他の役立ち情報は>>2-10あたりを見よう。
0623nobodyさん02/07/31 13:31ID:???
2重書き込みの判定で

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[2]には一番最近書きこまれた記事の投稿者名が、
$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:???
>624
\nの扱いがどうなってるかだな。
ログの保存を
my($tmp) = "$no<>$subject<>$name<>$email<>$url<>$time<>$comment<>\n";
に変えて、上の方法にしてみたら?
0626nobodyさん02/07/31 13:35ID:???
>>623
たとえば、$tmp[2]の値が0で、$nameの値が空だったらありえーる!
0627nobodyさん02/07/31 13:39ID:???
ログファイル読み込むときに末尾の改行とってないから$commentとは等しくない。
0628nobodyさん02/07/31 14:05ID:???
HTML::Templateのループ処理をネストするとき、

$template->param('ROW',[
   { name => 'Bobby',
    nicknames => [
       { name => 'the big bad wolf' },
       { name => 'He-Man' },
             ],
    },
  ],
);

みたいな処理だと、変数の数が必然的に決まってしまうんで
配列を使って、ネストしたnicknamesに入れるハッシュの数を自由に操作したいんですけど、
0629nobodyさん02/07/31 14:06ID:???
my @name = qw('the big bad wolf' , 'He-Man'........);
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:PJX78SBC
if($tmp[2] eq $name && $tmp[6] eq $comment) {&error("二重投稿はできません");}

my($tmp) = "$no<>$subject<>$name<>$email<>$url<>$time<>$comment<>\n";

こうやってみたんですがだめでした。

0631nobodyさん02/07/31 14:55ID:???
>>630
>>627読んだ?
0632nobodyさん02/07/31 15:11ID:PJX78SBC
それは

my(@tmp) = split(/<>/,$data[0]);
$tmp[6] =~ s/\n//;
if($tmp[2] eq $name && $tmp[6] eq $comment) {&error("二重投稿はできません");}

というようにしろということでしょうか?


0633nobodyさん02/07/31 15:22ID:PJX78SBC
やってみたのですがうまくいきませんでした
0634nobodyさん02/07/31 15:33ID:???
もうチョイ頭使えって
あんたの財布の中身は他人には解らん
変数の中全部吐き出してみろよ
0635comeoneverybody02/07/31 16:20ID:JJGI7Csk
単純なところだと思うのですが、

添付ファイル付きメールををセンドメールで送るんですが、
@filesの部分に添付ファイルを入れれます
stdio::sendmail(\%header, $body, $html_body, 0, @files);

こうするとうまくいかないのですが、プログラムの別の部分で
@filesの中身を吐き出してやって、コピペしてやるとなぜかうまくいきます。
stdio::sendmail(\%header, $body, $html_body, 0, '../../aaa.txt',);

すごく単純なことだと思うのですが、なにか解決のヒントください。
おながします。
0636nobodyさん02/07/31 16:24ID:???
>>635
@filesだと配列の数。
0637nobodyさん02/07/31 16:38ID:PJX78SBC
$data[0]の中身は

1<>書き込みテスト<>名無しさん<>***@***.com<>http://www.***.com/<;>2002/07/31 15:14:19 (Wed)<>書きこみテスト<>

です
0638comeoneverybody02/07/31 16:47ID:JJGI7Csk
>>636 ありがとうございます。

すると配列そのものを羅列させるには
stdio::sendmail(\%header, $body, $html_body, 0, "@files");
とするべきということですか?
0639nobodyさん02/07/31 16:53ID:???
このスレを見ようとすると

http://server.maido3.com/

へ飛ばされるんだけど俺だけ・・?
0640nobodyさん02/07/31 17:05ID:???
>>638
web powerのstdio.plライブラリーですか。
sendmailのパスが無いようなきがするけど。
その@fileの内容が知りたい。
0641nobodyさん02/07/31 17:06ID:???
http://www.afz.jp/~n_mattun/2ch/swf/R3_temp.swf?inputStr=%93c%91%E3%82%DC%82%B3%82%B5%82%A0%82%CE%82%CE%82%CE%82%CE%82%CE%82%CE%82%CE%81%5B
0642comeoneverybody02/07/31 17:13ID:JJGI7Csk
>>640
>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:???
http://www-power.net/cgi/other/library/stdio/stdio.pl

これかな、何か間違えてるんじゃ無いの?
(\%header, $body, $html_body, 0, '../aa/1234.txt','../aa/1235.txt', '../aa/1236.txt');

こうしたらどうなるの?
0645nobodyさん02/07/31 17:42ID:???
>>643
unixだけでいいよ。
0646nobodyさん02/07/31 17:53ID:???
>>643
なぜどのOSでも未知のサーバのテキストが改行して読めてるか分かる?
064748002/07/31 18:12ID:???
>>491 なんだ ◆JAPH9PWAはgunzipの弟子だったのか?
「コテハンの騎士は一人残らず皆殺しだ(´・ω・`)」(←SWのみすぎ)
ム板Perl6スレでの君の活躍は見事だ。放置プレイマンセーだな(少尿
>>490
あぁ俺英語読めんからいまだにコンパイルできん。
だいたいnmakeうってもできんぞ。詳しく教えろ。
064848002/07/31 18:14ID:???
>>484のリクに答えて「よーしパパ今日はパロッチャウゾー♪」
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。
064948002/07/31 18:17ID:???
::Parrotの中身-解説【2日間眺めただけなので間違ってるかもしれん】
*.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 [実行]
065048002/07/31 18:19ID:???
[perl6 の流れ]
./perl6 test.p6 ->test.imc test.pasm test.pbc 生成 ->test.pbc [実行]

*assemble.pl自体はXSとかつかったPerlスクリプトでないのでActivePerlでも実行できた(はず)
perl6もActivePerlで動きそうだけどまぁ試したときは動かんかった。
まぁassemble.plが動けばparrot.exeを試すことぐらいはできるはず。
perl6についてはム板perl6スレに行けば参考リンクが最初に貼られてたので
そっちをミテちょんまげ!。
065163002/07/31 19:02ID:???
どなたかー・・
065259702/07/31 19:09ID:S7Hc+7gV
>598,599

ありがとうございました!
出来ました!!
0653nobodyさん02/07/31 19:13ID:GgEH/D5c
>>651
上にも書いてるじゃないか
$foo eq $bar
が真にならないのは$fooと$barの中身が違うからだよ
print 関数の使い方検索して出力してみろよ
もし、同じ文字列なのに偽になるんだったら
サーバの管理者に聞きなさい
0654>65102/07/31 19:24ID:???
http://www.afz.jp/~n_mattun/2ch/swf/R3_temp.swf?inputStr=%83_%83%81%82%C8%93z%82%CD%89%BD%82%F0%82%E2%82%C1%82%C4%82%E0%83_%83%81
0655comeoneverybody02/07/31 19:27ID:JJGI7Csk
>>644 さん
そそ、それです。
で、いまやってみましたら上手く行きました。
(\%header, $body, $html_body, 0, '../aa/1234.txt','../aa/1235.txt', '../aa/1236.txt');
これは上手くいくんですが、配列にしたときに上手くいかないんですよ。
0656nobodyさん02/07/31 19:32ID:qZ05OEOA
>>645
本当にUNIXだけでいいんですか?
出来れば理由を教えていただきたいです。

>>646
いえ、わからないです。
0657nobodyさん02/07/31 20:00ID:???
>>655
ホントに試したの?
$aa = '../aa/1234.txt'; $bb = '../aa/1235.txt';
(\%header, $body, $html_body, 0, $aa,$bb);
これならどうなるの?
配列の使い方知ってる?

>>656
それはクライアントの仕事だから、その為にContent-typeがあります
HTML書く時に一々ジャバスクリプト? でクライアントのOSを判定
しますか?
そんな事しなくてもクライアントがソースを見るとちゃんと置換されて
ますね
何故ならそれはブラウザちゃんのお仕事だからです
0658comeoneverybody02/07/31 20:18ID:JJGI7Csk
>>657さん
試しました。こっちは必死ですから。
本気でperl始めてまだ2週間です。
配列もなんとなく使ってはいたんですが。

@files=(@files,"'../aa/$form{$my}.txt',");
こんな感じで作ってます
0659comeoneverybody02/07/31 20:22ID:???
>>657さん
それも行けました
066063002/07/31 20:25ID:???
>>上にも書いてるじゃないか
>>$foo eq $bar
>>が真にならないのは$fooと$barの中身が違うからだよ
>>print 関数の使い方検索して出力してみろよ
>>もし、同じ文字列なのに偽になるんだったら
>>サーバの管理者に聞きなさい

出力しても同じ文字でした。ローカルでテストしてるので鯖管は自分です
0661 ◆JAPH9PWA 02/07/31 20:33ID:???
コレでも同じ?
print unpack('C*', $foo), "\n";
print unpack('C*', $bar), "\n";

066265702/07/31 20:37ID:???
>>658
ネタ?どう考えてもドキュメント読んだ方が早い
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:???
>660
改行って目に見えないんだよな・・・。
0664comeoneverybody02/07/31 21:16ID:???
>>662
なんか間違っているということですか?

ドキュメント読んで出直します。

一応、パスワード入力+アクセス制限+外からアクセスできないディレクトリ
とか使って、セキュリティには気をつけてます。
0665comeoneverybody02/07/31 21:47ID:???
>>662
ひらめいたぽ
0666 02/07/31 21:52ID:???
おい>>630>>627 で解決した問題じゃないのか。
0667nobodyさん02/07/31 21:54ID:6r/wlS/6
>>664 は以下の文章の意味するところを勉強しろ。

それとそのライブラリ、そのまま使うと何でも通すので
多分攻撃されます($form{$my})
066863002/07/31 22:04ID:???
やっと原因がわかりました、、

プライベート変数myをifで囲んでいたためifから出たら空になってました

1回printで出力してみたのですがそのとき運悪くifの中にコーディングしたため
ちゃんと表示されてしまったということでした。

答えてくださった方ありがとうございました。>>627さんので当たりでした。
0669comeoneverybody02/07/31 22:06ID:???
>>662
ありがとうございました。
@files=(@files,"../aa/$form{$my}.txt');
これでやってみようと思います。

キタ━━━━━(゚∀゚)━━━━━!!!!
解決しました。
本当にありがとうございました。
0670nobodyさん02/07/31 22:32ID:afTQxJxl
お金が無いので、
りゃま本、らくだ本、その他、
初心者向けの古本探して買おうかと思っていますが
最新版でなくてもよいでしょうか?
0671nobodyさん02/07/31 22:33ID:oq+m6OUN
>>657
それでは、<br>を改行コードに戻したい時は「\n」に置き換えれば
あとはどのOSで見ても勝手に改行してくれるという事ですよね?
0672nobodyさん02/07/31 23:02ID:???
>>670
古本屋にラクダ本がある素敵な場所があるなら教えて欲しいわ!(w
すれ違いなんで↓いきなさい
http://pc.2ch.net/test/read.cgi/php/988809842/
最新版じゃなくていいだろうが、、ラクダ2版は死んでも買えよ。
0673nobodyさん02/07/31 23:03ID:???
>>671  なんでそんな3分で試せる当たり前の事を聞くんだよ
改行されるに決まってるだろ。
それとも誰かにその事の補償でもさせたいのか、裁判官みたいだな
067467002/07/31 23:25ID:???
>>672さん
誘導ありがとうございます。
らくだ2版っと、メモメモ・・・

親に駄々こねて、買ってもらおうとしたら受験生なので却下されますた。
こんど、参考書を買うと騙してらくだ本買うように企んでいます(藁
お金欲しい・・・・
0675nobodyさん02/08/01 00:24ID:???
>>628,629
 $row_data{'NAME'} = $name;
 $row_data{'NICKNAME'} = $nickname;
 $row_data{'NICKNAMES'} = \@nicknames;
 push(@loop_data, \%row_data);
HTML::Templateのループネストって、普通でもややこしいのに、
もっと見通しの良い変数名を使ってホスィぞ。(外と内で同じ
%row_data を使ってるとか)
0676nobodyさん02/08/01 01:35ID:???
>>674
趣味の本くらい自分の小遣いためて買え・・・。
親にたかるなよ
0677nobodyさん02/08/01 04:41ID:???
>>675
ありがとうございます!!
ただ、>>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:???
>>673
windowsしかなくてunixやmacで試せないから聞いてるんだよ。
お前はプログラムしか能のない馬鹿か?
論理的に理解できてるならそれぞれの環境で試さなくてもわかるんだろうが
俺はお前のように論理的にわからないからいちいち自分で試せないことは聞いてるんだよ。
こんなことわざわざ説明しなきゃいけないなんて、だからプログラマー同士って良く対立してるんだね。
わかったら、KENTのlight.cgiはなぜ\rで置き換えているか説明しろ。
0681nobodyさん02/08/01 09:45ID:???
>>680
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:???
>>643>>680

まぁまぁ。マターリしようYO。
そのテキスト形式のログを<pre>で囲んじゃ駄目なのか?
まともなブラウザなら改行コードにかかわらず表示できるYO。
0684nobodyさん02/08/01 12:35ID:???
>>680
やっぱり夏●だったんですね、謝ります。
改行コードの話はスレ違い、板違いなんで
超宇宙真理板にでも逝って下さい
0685nobodyさん02/08/01 12:46ID:???
>>680
ああ、妄想ファンタジーに突入してるんか

>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:???
復帰文字を使って改行するようなOSも、それを使うDQNも逝ってヨシだ。
>>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:???
>>685
http://www.sankeipro.co.jp/male/kent_.htm
世界丸みえとかに良く出てるけど知らない?
プログラムやるのもいいけどたまにはテレビも見ようよ。
0690nobodyさん02/08/01 16:29ID:???
KENTがいっぱい

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:zZ0lPm5t
こんばんは。行き詰まっていますのでどなたか教えて下さい。
jpeg画像をCGI_Lite.pmを利用してアップロードするCGIをperlで作成しているのですが、
アップする際に、アップされるファイルがjpegファイルかどうかを確認する方法が
わかりません。
拡張子で確認する以外の方法があれば教えて下さい。よろしくお願いします。
0692nobodyさん02/08/01 18:57ID:PoaI42Wk
お邪魔します。質問させてください。
port5.comにアクセスログ取得スクリプト設置したんだけど
htmlのソースにSSIのコメント<!--#exec cmd="..."-->ってやつが
ばっちり表示されてる。でもCGI/SSIは動いている模様。
これは普通のことなのですか?
ちなみにhypermartにも同じスクリプト置いてるけど、
こっちは表示されてないです。
0693nobodyさん02/08/01 19:25ID:???
>>691
バイナリで送られてきたデータ先頭を確認する。

>>692
表示されているのはおかしいぞ、と。
0694nobodyさん02/08/01 19:29ID:???
\xFF \xD8 \xFF \xE0 \x00 \x10 \x4A \x46 \x49 \x46 \x00
がJPEGの先頭のバイナリ。(たぶん。バイナリエディタで自分の持ってるJPEG画像開いて確認してくれ)
これが先頭にあるかを見る。
069569202/08/01 19:55ID:PoaI42Wk
>>693
ですよね〜
やっぱりSSIは動作してないかも、です。
でもCGI自体は動いているみたいで自分のアクセスしたログが
記録されてた。SSIが 使えないとダメなスクリプトのはずなのに、
なんでだろう・・・なんか混乱しちゃってます・・
0696nobodyさん02/08/01 20:02ID:???
>692
port5.comがどういうところか知らないけど、そこのSSIではexecは許可されてるの?
0697nobodyさん02/08/01 20:39ID:???
>>695
拡張子を確認!!
069869202/08/01 20:43ID:???
>>696
あ、多分解決しました。
port5.comはよく落ちるってことでレンタル鯖板ではすこぶる評判が
良いです。FAQのCGIのセクションばかりみていたんですけど、
他のところにSSIの説明ありました。回答して下さった方ありがとうございました。
0699nobodyさん02/08/01 20:47ID:???
>>692
多分.htaccess
0700nobodyさん02/08/02 00:44ID:Sqea3lxU
>>695

拡張子なんてアテになんないから、691は拡張子以外で、って書いてるんだろ
0701nobodyさん02/08/02 00:51ID:???
>>697
>>700
落ち着け。
070267502/08/02 02:27ID:???
>>677
スマソ、いまいち元データと完成後の画面イメージが掴めんので、
事情が理解出来ないのだが、原理的にはこんなんで行くはずだが。
実際には@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
execでもsystemでも,実行させた外部プログラムが終わるまで
処理がこっちに帰って来ないのが不便でかないません.

外部プログラムを別プロセスで起動させることは出来ますか?
0704nobodyさん02/08/02 06:05ID:???
>>703
0705nobodyさん02/08/02 10:32ID:HalM3U4I
チャットで、全員他の人を落とす方法教えてもらえませんか?
0706nobodyさん02/08/02 10:43ID:???
CGIファイルを消す。
0707nobodyさん02/08/02 11:05ID:???
>703
exec ですと、perl スクリプトが終わるので処理は返ってきません。
system ですと、forkしますから、別プロセスになります。

私は、
外部プログラムをperlの中から呼ばない
どうしても外部プログラムを使わないとダメな時は、そのためのシェルスクリプト
をperlに吐かせ、それを実行
するようにしてます。
070869202/08/02 13:09ID:???
>>699
正解です・・勉強してきますー
0709nobodyさん02/08/02 13:30ID:8kGCovez
画像アップ掲示板で、画像のサムネイルを自動的に作るものがありますが、
あれってどうやってるんでしょうか?
(アップした画像を縮小してるんじゃなくて、小さな画像を自動的につくる)
0710nobodyさん02/08/02 14:05ID:???
>>709
ここは【Perl】初心者コーナー ですが、読めませんか?
0711nobodyさん02/08/02 15:01ID:???
html---------
<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:???
>711
間違ってる。

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="hoge1" value="A">A
<input type="checkbox" name="hoge2" value="B">B
....

仮に連番でチェックボックスを生成しても、今度値を受け取る時
その数だけ
$hoge1 = $FORM{'hoge1'};
$hoge2 = $FORM{'hoge2'};
...
ってあらかじめ何個も用意しておかなきゃいけないんでしょうか。
(掲示板の投稿削除で管理者は一気チェックして消せるみたいな感じにしたいんです)
0716nobodyさん02/08/02 15:21ID:???
$FORM{'hogeN'};  を  $hogeN に代入する必要は無いんじゃないか?
0717nobodyさん02/08/02 15:32ID:???
>715
頭固い?
for(my$i=1;$i<=$last_number;$i++){
  push(@hoge,$FORM{"hoge$i"});
}

とかで回せば楽だろう。
0718nobodyさん02/08/02 15:33ID:???
基本的なことがわかってないヤツは何をやってもダメ
0719nobodyさん02/08/02 15:34ID:???
>>715

頭硬い
要領悪い
プログラマーに向いてません
0720nobodyさん02/08/02 15:42ID:???
バカだって、バカなりに生きていかなきゃならんし…。
0721nobodyさん02/08/02 15:52ID:???
>>711
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++;
  }
}
と配列に読み込むようにする。
0722nobodyさん02/08/02 18:27ID:???
>>712

ハズカシー!
0723nobodyさん02/08/02 19:34ID:???
けど指摘できたの721だけだな。
072471202/08/02 20:41ID:???
>722
取得する時に変える方法は思いつかなかった。
どうせcgi-lib.plかなにかで取得させてるんだろうと思ったし
言っても分からないだろうから、下手に混乱させる必要もないかなと。
>721の発想出ないなんて、確かに頭固くなってて恥ずかしいね。
0725nobodyさん02/08/02 21:32ID:???
>>724
言い訳ハズカシー!!
0726nobodyさん02/08/02 23:15ID:+4MGC8XT
1 FORM から送信されたデータをデコードしたり、エンコードしたい。


2 こんな風にやってみた。

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:???
H2の方が効率がいい。
RFCでCの方が書かれて
Cの方を使う人が多い。しまっていたから
072872602/08/02 23:31ID:???
>727
アリガトゴザイマス

RFC が解りません。
今調べてますが、差し支えなければ教えて下さい。


0729nobodyさん02/08/02 23:43ID:???
RFCの日本語訳ならこの辺。
http://www.se.hiroshima-u.ac.jp/~isaki/rfc/list.html

インターネットの標準を定めている文書、といっても過言ではない。
たしかURIエンコードの項目に pack("C", hex($1)) が書かれてた。
073072802/08/02 23:49ID:fhO9IRlh
>729
ありがとうございますです。
非常に参考になりました。

0731nobodyさん02/08/03 00:24ID:4FNUCrqf
叩かれ覚悟で質問します。htmlもロクにわかってません。
FORMで打ち込んだ内容をテキストに保存する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__
073373002/08/03 00:34ID:???
1 CGI 掲示板のログを、なるべく安全に保存したい。
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 少ない環境での動作チェックはしましたが、同様の処理をしている
スクリプトを見かけないので、なんとなく不安が残ります。
何か問題点が有りそうでしたら、ご指摘下さい。
もちろん上記スクリプトは、意味が分かる程度に簡略化した物で動きませんよ?
073473102/08/03 00:43ID:4FNUCrqf
>>732
ありがとうございます!
でもサーバーエラーがでます。
なぜだろう・・ちゃんとパスやパーミッションも合ってるのに。
073573202/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:???
Content-Type: text/html
を忘れてたからだ。

print<<"EOM";
のあとに
Content-Type: text/html<改行>
<改行>
入れてみて。
0737nobodyさん02/08/03 00:55ID:???
foreach $pair(@pairs){
の直後に
local($name,$value) = split(/=/,$pair);
も忘れてた。
回線切って首(略
073873102/08/03 01:07ID:4FNUCrqf
>>731
表示できました。
でも送信してもlog.txtに書き込まれないみたいです。
もうちょっとからかってみます。
0739nobodyさん02/08/03 01:10ID:???
>もうちょっとからかってみます。
漏れはからかわれていたのかΣ(゚д゚lll)
074073102/08/03 01:13ID:4FNUCrqf
>>739
いやそういう意味じゃないです!すいません。
自分で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__
074273102/08/03 01:30ID:4FNUCrqf
>>741
できました。
すごい勉強になりました。
感謝!
0743nobodyさん02/08/03 06:08ID:???
すいません

$value =~ s/%([0-9a-zA-Z]{2})/pack("H2", $1 )/eg;

これはいったいどういう処理をしているのでしょうか?
0744nobodyさん02/08/03 08:11ID:yBArvQmy
携帯からファイルをアップロードできるCGIを作っているんですが、
自分の所に携帯が無いのでどこを気をつけていいのか教えて頂けませんでしょうか?

Googleで6時間以上探し回っているんですがヒントすら見つかりません。
どなあたかご教授お願いします。
074574302/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
>>744
携帯電話のローカルな情報をアップロードするって話なの?
どこに気をつけるとかいう以前にできるか否かは検討したのか。

>>745
perldoc -f pack すると
H A hex string (high nybble first).
とあるよ。
0747nobodyさん02/08/03 10:09ID:y5M4ReYw
>745
http://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:???
>>702
こちらの作ってるスクリプトもそれと同じような構造なのですが、
どうも自分のやろうとしている事はレコードを使わないといけないようですね。
ただ、検索してもレコードやリファレンスの構造がいまいちよく分からないんで、
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";

というような感じに代入させたいのですが。。
0750nobodyさん02/08/03 21:13ID:???
>>749
上の例だと、IEは5.01じゃないのか?
しかもOSも2000。
0751nobodyさん02/08/03 21:46ID:???
>>750

そうでした。
どうすればいいのでしょうか?
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:???
Cで言うところのfscanfってPerlではなんて関数なんですか?
0755nobodyさん02/08/04 01:36ID:???
>>753
そのソースを見ないことには改善できないよ。
075675502/08/04 01:36ID:FrE7nmXK
デコード処理を行ってるつもりなのですが、
まったく反映されず、どこが悪いのかも分かりません。
ご指摘お願いします。
075775602/08/04 01:37ID:FrE7nmXK
sub decode {
if ($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;
075875602/08/04 01:37ID:FrE7nmXK
&jcode'convert(*value,'sjis');
&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:???
あーぁ、やっちゃったな。CGIスレにリンク張ってやりたい処理と現状を書くべきなのに。
076075602/08/04 01:47ID:FrE7nmXK
>>759
知りませんでした。
スイマセン
076175302/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:???
>>756
&jcode'convert(*value,'sjis');
&jcode'convert(*name,'sjis');

これは必要か? サーバ環境は?
0763nobodyさん02/08/04 02:21ID:???
>>761
$file_path = "./mail_tmp/$tmpfile";

$tmpfile に値ある?
mail_tmp のパーミッションは?
076475302/08/04 02:33ID:8/YQ8REX
763さん
すみません、値というと・・・?
mail_tmpのパーミッションは777です。
0765nobodyさん02/08/04 02:35ID:???
>>763
値というと、つまり、ファイル名がちゃんと入っているの? ってこと。
076675302/08/04 02:40ID:8/YQ8REX
あ、はい。ちゃんと名前は入ってきています。
この空っぽのファイルが添付されて送られてきてしまいます。
0767nobodyさん02/08/04 02:46ID:???
>>766
>>761以前の処理ってどうなってる?
076875302/08/04 02:55ID:8/YQ8REX
761より前の処理は
if ($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の処理になってます。
サブジェクトや添付ファイルのエンコードとかもそこでやってます。
0769nobodyさん02/08/04 02:57ID:???
>>768
だったら、もうすでに標準入力からすべて読み込んでるわけだから当然ファイルは
空になります。
077075302/08/04 03:03ID:8/YQ8REX
そうなんですか!読んでても残ってるのかと思ってました。
もう1回やりなおしてみます。本当にありがとうございました。
0771nobodyさん02/08/04 06:22ID:???
>>752

いいもの教えてくれてありがとうございました
0772クッキーのオンオフ02/08/04 16:22ID:???
質問失礼します。
ユーザー環境でクッキーのオンオフを確認し、
クッキーオフならhidden属性を表示しないようにしたいのですが、
クッキーのオンオフをその場で見極める方法などはありますでしょうか?

自分ではヘッダ情報でクッキーを書き出してから、$ENV{'HTTP_COOKIE'}で
再取得できればクッキーオンだと確認できると思っていたのですが、
クッキーを記録したその場では$ENV{'HTTP_COOKIE'}が更新されないようで
上手くいきませんでした。

クッキー保存と読み込みを別スクリプトで行なえばいいのですが、
それだとサーバーへのアクセスも増えますし、訪問者の人の
手間も増えてしまいます。

クッキーのオンオフをその場で確認する方法、
もしくは$ENV{'HTTP_COOKIE'}の再読み込みをする方法を
ご存知な方がいらっしゃいましたら、どうかご教授ください。
よろしくお願いします。
0773apholist02/08/04 21:57ID:DUVpmc74
ActivePerl、Apache2.039でCGI動かしてるんですけど
いくつかのCGIで初期表示のあと、更新しようとすると

couldn't create child process: 22:
couldn't spawn child process:

というようなエラーが表示されます。何が原因だと
考えられますか?
0774nobodyさん02/08/04 22:01ID:???
子プロセスを作れませんでした?

UNIX専用の関数とか使ってない?
0775apholist02/08/04 22:06ID:DUVpmc74
>>774
あるかも。調べる方法ってあります?
0776apholist02/08/04 22:27ID:DUVpmc74
とりあえあう、Flockと、symlinkは外しました。
他にもありますか?
なかなかまとまったページがないっす。
0777nobodyさん02/08/04 22:29ID:???
fork とかも。
どのプラットフォームでも動くようなCGI使えや。
0778apholist02/08/04 22:49ID:DUVpmc74
>>777
難しいこと言うなぁ。簡単なことなのか?
どのプラットフォームでもっていうと、
チャット、掲示板、カウンターなどほとんどWinでは
難しいような気がするんだけど。
まあ、Winで作られたものならWinで動くんだろうけど。

とりあえず、forkチェックしてみます。
「とか」って言ってるけどなんで知ってるの?常識?
0779apholist02/08/04 23:00ID:DUVpmc74
スマソ。perlのドキュメントにありますた。

Some 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.

だって。コピペしないほうがよかったか?
0780apholist02/08/04 23:29ID:DUVpmc74
うぉー全部チェックしたがまだ同じエラーだ…。
0781nobodyさん02/08/04 23:46ID:???
>>780
その前に、ごく簡単なCGIでもそうなるか試した?
0782apholist02/08/05 00:02ID:vCl4cucl
>>781
ごく簡単なCGIなら動きます。
掲示板も普通の?は動いたけど、megabbsスクリプトで
スレ立て後、レスを書き込もうとすると同じエラー。
0783nobodyさん02/08/05 00:12ID:???
NGワード!NGワード!w
0784nobodyさん02/08/05 00:13ID:???
>>782
じゃあ、そのmegabbsスクリプトってのがしょぼいんだろう。
0785nobodyさん02/08/05 00:17ID:mlKhZTXH
C言語
ファイルポインタを使って円の面積を計算するプログラム、教えてください。
ファイルポインタには半径1から10の数値があります。
出力結果は次のようになるようにして下さい
半径 面積





10
0786apholist02/08/05 00:26ID:vCl4cucl
>>783
え?ヤヴァイ?
0787apholist02/08/05 00:29ID:vCl4cucl
>>785
ネタ?厨?For文使うか一つずつ円周率3で計算すればいいんじゃない。
0788nobodyさん02/08/05 00:31ID:???
>>785
マルチはうせろ!     
0789nobodyさん02/08/05 00:40ID:???
http://pc3.2ch.net/test/read.cgi/tech/1028474590/
>>785 おめー殴らせろ
0790apholist02/08/05 00:41ID:vCl4cucl
>785
マルチだったのか。Perlとか言語の区別もつかんとは
あわれな厨だな。俺よりアフォだ。

とりあえず、うごきますた。Apache2.039が悪かったみたい。
1.326にしたら動いた。
人柱になるのはもっとスキルみがいてからにします。

ご協力感謝。
0791nobodyさん02/08/05 01:57ID:LdtViypm
アンダーバーを含む行の先頭に
hogeという文字列を追加したい場合
どう書けばいいですか
0792nobodyさん02/08/05 02:19ID:???
>>791
キーワード
正規表現 or index
0793nobodyさん02/08/05 02:21ID:???
>>791
s/(.*_.*[\x0d\x0a]*)/hoge$1/g;
0794nobodyさん02/08/05 02:21ID:???
>>772
遅レスだけど、ありません。
0795nobodyさん02/08/05 02:35ID:LdtViypm
>>792 >>793
マッチさせる文字列全体をカッコでかこめば
よかったんですね。
勉強になりました。
0796nobodyさん02/08/05 09:42ID:???
>>758
$i=$i++;
はいかんよ
$a=0;
$b=$a++;
の場合は$a=1,$b=0.
$i=0;
$i=$i++;
なら$i=1,$i=0.どっちか分からん。
0797nobodyさん02/08/05 10:21ID:???
>>791
while(<>) {
next if !/_/;
s/^/hoge/;
}

ひとつの小難しい正規表現でやるのは嫌な人用。
0798nobodyさん02/08/05 10:36ID:???
このスレを見ていると、localだとかcgi-lib.plだとかjcode.plといった記述を
よく見かけまずが、未だに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:7p5l2D2K
扱いといいますと・・・?
gooでは件名、本文は正常に受信できて、添付の部分は本文にコードが書かれている状態です。
MPメールのほうは件名もiso-2022-jpと書かれていて、本文もcontent-type云々になってます。

パソコンのアウトルックで使うより、シグマリオンのMPメールで使う方が多いので困っています。
0803nobodyさん02/08/05 13:47ID:???
Content-Type: Multipart/Mixed;
となってますか。
0804nobodyさん02/08/05 14:55ID:???
一つの動作の中で2回デコード作業をしてはいけないんでしょうか。

$ENV{'QUERY_STRING'}
の内容は1回目で無くなっちゃうんでしょうか。
うまくいかないんです。
0805 02/08/05 14:59ID:???
>>804
そんなこたーないよ。コード見せてみ。
0806nobodyさん02/08/05 14:59ID:???
うまく行くといいですね   ピュア
0807nobodyさん02/08/05 16:02ID:???
>>805
全体と載せるのは無理なんで説明します。
で、実は>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の値を受け取るためだけのデコードルーチン作ったんですけど
それでもうまく値が返ってこないんですよね。
0809 02/08/05 16:08ID:???
>>807>>808
で、$ENV{'QUERY_STRING'} は どこ?
0810nobodyさん02/08/05 16:19ID:???
postなんで$ENV{ 'CONTENT_LENGTH' } でした。
0811 02/08/05 16:22ID:???
>>810
$ENV{ 'CONTENT_LENGTH' } でも値がなくなるこたーないよ。出力させてみ。

でも標準入力からは1度しか読み込めない。
0812nobodyさん02/08/05 16:22ID:???
POSTの場合ははSTDINから受け取るので1回受け取ったらなくなります。
0813nobodyさん02/08/05 16:25ID:???
>>807
$postの中に残っていると思われます。
0814nobodyさん02/08/05 16:29ID:???
>>807
そのソースは、記念に以下のスレにカキコしといてよ。

http://pc.2ch.net/test/read.cgi/php/1028052835/l50
0815nobodyさん02/08/05 16:54ID:???
>>814
載せておきました。
0816nobodyさん02/08/05 18:23ID:???

                   _ _     .'  , ..   ..   .'     ∧_∧
          ∧  _ - ― = ̄  ̄`:, .∴ '      ・,‘∴  , .   (    ) ←>>814
         , -'' ̄    __――=', ・,‘ r⌒>  _/ /
        /   -―  ̄ ̄   ̄"'" .   ’ | y'⌒  ⌒i
       /   ノ                 |  /  ノ |
      /  , イ )                 , ー'  /´ヾ_ノ
      /   _, \               / ,  ノ
      |  / \  `、            / / /
      j  /  ヽ  |           / / ,'
    / ノ   {  |          /  /|  |
   / /     | (_         !、_/ /   〉
  `、_〉      ー‐‐`            |_/

0817nobodyさん02/08/05 18:24ID:???
      氏ね
      ∧_∧          _ _     .'  , .. .∧_∧
     ( ´_ゝ`)   _ .- ― .= ̄  ̄`:, .∴ '     ( >>815
    /     '' ̄      __ ヽ´=', ・,' r⌒> _/ /
   / /\   / ̄\-―  ̄ ̄   ̄"'" .   ' | y'⌒  ⌒\
 _| ̄ ̄ \ /  ヽ \_              |  /  ノ |
 \ ̄ ̄ ̄ ̄ ̄ ̄ \__)              , ー'  /´ヾ_ノ
  ||\            \          / ,  ノ
  ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄          / / /
  ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄||          / / ,'
  ||  ||          .||       /  /|  |
                       !、_/ /   〉
081880202/08/05 20:15ID:???
803さん、遅くなって申し訳ありませんでした。
Content-Type: Multipart/Mixed;になっています。
もしかしてアウトルックはIEみたいに多少の間違いがあっても
上手いこと動いてくれてしまうんでしょうか・・・。
0819nobodyさん02/08/05 20:16ID:???
あれ?いつからここは格闘技板になったのだ?
0820nobodyさん02/08/05 21:37ID:TC4MSFf/
2chのように上から下へ流れていく掲示板を作っているのですが
書き込んでCGI上でリロードする際に、ページの下の方を表示したいんです。

表示と書き込みのCGIを分けて
書き込み側から
<META content=0;URL="read.cgi#sita" http-equiv=refresh>
こんな感じで飛ばしてみたんですが何故か#sitaが反映されません。

何かいい方法はないでしょうか。
0821nobodyさん02/08/05 21:42ID:???
>820
書き込み後にLocationで飛ばせば?
0822nobodyさん02/08/05 21:44ID:obWCEw8Y
すいませんが、教えてほしいことがあります。

掲示板のログファイルを閲覧者からは見えなくしてCGIからだけ
読み込めるようにするにはどんなパーミッションにすればいいですか?
掲示板の削除キーが書き込んであるのが閲覧可能というのは、
やはりまずいかなと思いましてね。
いろいろ探したけどわからなかったので、知ってる方いたらお願いします。

まあ、ファイル名をわかりにくいものにする、などの方法はありますがね。
0823nobodyさん02/08/05 21:50ID:TC4MSFf/
>>821
やってみました。

print "Location:read.cgi\#sita\n\n";

こうですよね。
でもやっぱり#sitaは反映されないようです。
他に何か無いでしょうか…。
0824nobodyさん02/08/05 21:57ID:???
>822
パーミッション変えるより、拡張子を.cgiにすれば?

>823
ページの読み込みが終わるまで待ってる?
その前にどこかクリックしたりすると移動しないことがあるよ?

あと、念の為に聞いておくけど、<a name=sita></a>で失敗していたりしないよね?
0825nobodyさん02/08/05 22:06ID:TC4MSFf/
>>824

>あと、念の為に聞いておくけど、<a name=sita></a>で失敗していたりしないよね?

そのとおりでした。穴があったら入れたいです。

ありがとうございました。
0826nobodyさん02/08/05 23:12ID:???
ここ、夜になると一気に寂れるな。
みんな仕事でやってるのか。
に、してはレベルが・・・。
0827m(__)m02/08/05 23:25ID:7ewZSPim
こういうCGIないでしょうか。

コミュニティサイトをしようかと思っているのですが、
メンバー表に登録するとクッキーが焼かれ、
掲示板などに書き込む時偽りができないようにできるスクリプトありませんか?

例を出すと、
http://daichanchi.com/
で利用しているようなものです。

よろしくお願いいたします。

0828nobodyさん02/08/05 23:33ID:???
>>827
作れ。簡単だ。
0829nobodyさん02/08/05 23:58ID:???
>>828が作る頭がないに1000チョン
>>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;
}
0831nobodyさん02/08/06 00:06ID:???
>>830
ネタもほどほどにね。
083283002/08/06 00:07ID:diugRf3e
プログラムが見にくいのでインデントしますた。

print "「$In{mode}」";
if ($in{mode} eq 'writing'){
   print "hoge";
   exit;
}
本当は 「writing」hoge と表示して欲しいのに・・・
083383002/08/06 00:08ID:diugRf3e
>>831
ネタだと思われるようなミスなのですか(鬱)
どこがおかしいのか教えてください。
0834nobodyさん02/08/06 00:09ID:???
$In{mode} と $in{mode} はそれぞれ別の連想配列というネタ?
083583002/08/06 00:17ID:diugRf3e
うぎゃ〜、本当だ(鬱)
失礼しました〜っ

0836nobodyさん02/08/06 00:21ID:???
どこで writing が定義されてるんだろう。
083783002/08/06 00:24ID:diugRf3e
>836
writingはHTMLのフォームから渡されてきた物です。
mode=writing の時に書き込み処理をするようなBBSを
作っているのでした(笑)
こんな単純なことで3時間を費やした俺って一体(鬱)
0838nobodyさん02/08/06 06:46ID:???
>>10
氏ね
0839 ◆JAPH9PWA 02/08/06 09:22ID:???
>>837
そんなキミに-wスイッチとuse strict;をお勧めするよ。
慣れるまでちょっと時間は掛かるけど、
タイポによるつまらないバグが激減すること間違いなし!
0840art02/08/06 10:10ID:a25IbhtN
投稿ごとにファイルが生成される掲示板を作っています。
1.txt、2.txt・・という具合にファイルを生成したいんですが、

(1)テキストが保存されているディレクトリ内のファイルの数を調べ$prev内に代入
(2)*.txtの*をファイル数を$prev + 1にする。
(3)「($prev+1).dat」という名のファイルにする

という考え方でいいのでしょうか?
もし合っていればどういう風に書くかアドバイスして頂きたいのですが・・。
0841nobodyさん02/08/06 10:19ID:???
>840
ナンバーを保存する別ファイルを作る。
0842nobodyさん02/08/06 10:29ID:???
よけいなお世話だけど、投稿削除とか前の方からどんどん削除したいとき大変よ?
0843nobodyさん02/08/06 10:29ID:???
サブルーチンの返り値が複数欲しい時はどうすればいいんですか。
084484302/08/06 10:30ID:???
配列が二つ欲しいです.
@hogeと@hage
これをさらに一つの配列にするしかないですか?
0845nobodyさん02/08/06 10:36ID:???
>>843
普通にリストで。 
return ($a,$b);

($x,$y) = &hoge();


>>844
リファレンス
0846リファレンスを返す02/08/06 10:38ID:???
sub foo{my (@hoge,@hage);return(\@hoge,\@hage);}
my ($hageR,$hogeR)=foo;
0847art02/08/06 10:42ID:a25IbhtN
>>841
ナンバーを保存する別ファイルか・・
どうやるのですか
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:???
いらっしゃーい、Perlの「コーディング」で困ってる人のスレです。

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

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

0850art02/08/06 11:03ID:a25IbhtN
>>848
なめてないよ。

そうじゃなくて、まずファイル生成する時にどうやってファイル名を
1.txt、2.txt、3.txt・・と増やして作ることが出来るかってこと。
0851nobodyさん02/08/06 11:05ID:???
>>850
尊敬。

まず、BASICか何かでプログラムとは何か。から学ぶべきかと。
0852art02/08/06 11:09ID:a25IbhtN
ナンバーを保存するファイルを生成するとなると
考えがまとまらなくなってしまって・・・・・。
>>840の方法だと、分かりやすいんですが
そうすると削除とか大変なんですよね。
0853nobodyさん02/08/06 11:10ID:???
いや、そもそもその方式が。
0854art02/08/06 11:11ID:a25IbhtN
>>853
お願いします・・助けてください・・(笑)
0855nobodyさん02/08/06 11:23ID:???
「data」ディレクトリ内にあるtxtファイルの数を
$datという変数に代入するにはどうすればいいですか?
0856nobodyさん02/08/06 11:30ID:yJuB6gJh
cgiで画像を分割する方法ってありますか?

合成ならカウンタとかでよく見かけるんですが、
分割はどうしてもわかりません。

たとえば500x500の画像を
100x100の5個に分割したりする方法です。
085785602/08/06 11:30ID:yJuB6gJh
>>856
500x500

500x100

まちがえたよー
0858nobodyさん02/08/06 11:31ID:???
>art
投稿毎にファイルを生成するなら、ファイル名の数値を調べてインクリメントするが吉。
効率悪いし、メンテナンスしにくいと思うが。
0859nobodyさん02/08/06 11:35ID:???
前もって分割しておく(固定のファイルをいちいち分割する理由がない)。
もしくはGD.pm
086085602/08/06 11:39ID:yJuB6gJh
>>859
画像を携帯から見ようと思うのですが、
当然機種によって表示できるサイズがちがうので、
表示させる段階で分割させたいのです。

厳密にいえば、
大きな画像の任意の一部を抜き出してブラウザに返すのがいいです。
なので、別に分割してファイルを複数つくる必要はないかもしれません。

GD.pmってモジュールですよね?
まだモジュール使ったこと無いので緊張しますが
ちょっと調べてきます。
0861nobodyさん02/08/06 12:53ID:3j+94g7Z
$test =~ /ー/;
ってやるとエラーが出るんですけど、どうすればいいでしょうか?
0862nobodyさん02/08/06 13:15ID:???
$test =~ /\Qー\E/;
0863nobodyさん02/08/06 13:17ID:???
>>861
文字コードをEUC-JPにする
0864nobodyさん02/08/06 13:23ID:xsMd1/x0
掲示板の更新時刻をTOPページに表示しようと思うのですが
掲示板が沢山あり、ログファイルが沢山ある場合、
したの処理を、ログファイルの個数だけ書かないといけないのでしょうか?
良い方法が思いつきません
どうすればよろしいのでしょうか?

#!/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";
0865 ◆adminSE. 02/08/06 13:35ID:???
掲示板のログファイル名を配列にいれといてforeachで回して処理すれば?
0866nobodyさん02/08/06 13:49ID:???
>>855の質問に誰か答えられる方いませんか
0867nobodyさん02/08/06 13:57ID:???
opendir DIR data;
@list = <DIR>;
closedir DIR;
@CON = grep { /^*.\.txt$/ } @list;
$dat = $#CON;
0868nobodyさん02/08/06 14:00ID:???
@CON = grep { /^.*\.txt$/ } @list;
0869nobodyさん02/08/06 14:00ID:???
>867
それだと1個足らなくない?
0870nobodyさん02/08/06 14:05ID:???
>>866
ファイル数用のカウンターを作っとけばいいんじゃねーの。
0871nobodyさん02/08/06 14:07ID:???
>>869
そういやそうだった。
0872nobodyさん02/08/06 14:12ID:???
>>867
出力すると「-1」って出てきたんすけど・・
1個少ないんだったら変数に1足しても問題ないですかね?

>>870
簡単に言わないでよ
0873nobodyさん02/08/06 14:48ID:xsMd1/x0
>>865

ありがとうございます。
配列に入れて回したのですが
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";
の部分は
$sort= "$date<>$name[$c]<><BR>\n";
でした
0875 02/08/06 15:16ID:???
どんどん板のレベルが低下してるのが笑える!
0876nobodyさん02/08/06 15:24ID:???
>>875
そうだな・・・
まぁ、ここは初心者のスレだし良いんでないの?
0877nobodyさん02/08/06 16:14ID:32Vwa5NB
>>873
my %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:+CLAZ6EK
IEで、キャッシュを無効にするにはどうしたらいいでしょう。
cgiからの出力を、ブラウザの戻るボタン押下時に意図的にリ
ロードさせたいだけなんですが。。。

<%
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">
とか
試したんですが無理でした。

誰かよろしくお願いしますっ!
0879nobodyさん02/08/06 19:18ID:???
>>878
Perlとどういう関係があるの?
0880nobodyさん02/08/06 19:29ID:???
>878
ttp://pc.2ch.net/test/read.cgi/php/1025930486/444
マルチポスト氏ね
088187802/08/06 19:36ID:+CLAZ6EK
>>879
Perl cgiです。。
formにオブジェクトを埋め込めないため、ノーキャッシュ
で制御しようとしてるんですが、IEではうまく動かないん
で、どなたか経験者がいらっしゃたらなぁと。

>>880
答えれねぇんなら出てくん名ぼけが
0882nobodyさん02/08/06 19:41ID:???
>881
向こうのスレでレス返してやってるのは俺なんだがな。
マルチポスト氏ね。
088387802/08/06 19:49ID:+CLAZ6EK
>>882
おおそうか。ならあのページにかかれてある事が
上のソースでやってる事もわかってて書いたんだろうな。

まったく、大変有意義なレスだよな。
ぷ。
0884nobodyさん02/08/06 19:55ID:???
意図的にリロード?
おまえブラウザて何処で動いてるか知ってる(ププp
何か思いっきりスレ違いだし、
カタワって可哀相だねppp
0885nobodyさん02/08/06 19:57ID:???
電波キタ━━━━━━(゚∀゚)━━━━━━!!

マルチポストするようなヤツぁ何をやっても駄目。
088687802/08/06 20:03ID:+CLAZ6EK
>>884
クライアントにきまってんだろがぼけ。
クライアントで動くソース投げ店のがサーバのPerl cgiなんだよ。
あっそうか、Perlつかってcgi作った事のない人だったんだ。
ごめんねぇ。。unixとPerlという閉ざされた世界しか知らないんだ。
かわいそうにねぇ・・・・・・。
あ〜〜、いいこいいこ(* T-)ヾ( ̄▽ ̄;) ヨシヨシ w


0887nobodyさん02/08/06 20:06ID:???
>>886
> クライアントで動くソース投げ店のがサーバのPerl cgiなんだよ。
お前がやってるのは VBScript ASPだろ
なんでPerlのスレに書くんだよ。

顔真っ赤にして捨て台詞書くなよ、みっともない・・・
088887802/08/06 20:17ID:+CLAZ6EK
わかったわかった・・・。
しかしサンプルで書くときはどんな言語でも書くだろうに・・・。
近くにあるライブラリからもってくるんだからさぁ。
まぁ俺がPerlで書かなかったのが悪かったな。

わりぃわりぃ。
Perlしかしらねぇんだもんな。
0889nobodyさん02/08/06 20:20ID:???
誰かアソパソマソ貼ってあげて
0890マジレス02/08/06 20:23ID:???
ASPスレがあるのにそちらで書かないで暴れてるアホがいるスレはここですか?

つーかサンプルも糞もあるかよ、ここはPerlスレだ。
あとCGIとASPの違いが分からんアホも逝ってよし。
0891nobodyさん02/08/06 20:26ID:???
___
/ \ ________
/ ∧ ∧ \ /
| ・ ・ | < 氏ねよおめーら
| )●( |    \________
\ ー ノ
\____/
0892nobodyさん02/08/06 20:26ID:???
     ___
    /     \     ________
   /   ∧ ∧ \  /
  |     ・ ・   | < おう、呼んだか?>>889
  |     )●(  |  \________
  \     ー   ノ
    \____/
089387802/08/06 20:31ID:+CLAZ6EK
最初からこう書けばよかったな。
sub 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+
モジュールのLWP::UserAgentはどこにありますか?
0895nobodyさん02/08/06 20:52ID:???
>>893 あまり電波には答えたくないんだが、、、

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/
089687802/08/06 21:29ID:+CLAZ6EK
>>895
色々スマソ。
HTTPリクエストにもhtmlにも含まれてます。
で、理由としては隠し属性項目でイベントを保存していたため、
戻るで戻ってこられるとイベントが初期値ではなくなっていたためなんですよ。
で、リロードをかけさせるために有効期限とキャッシュレスにしようとしてい
たんですがうまくいかなかったもので。。
java-scriptでリロード時に強引に書き換えるようにして対応しました。
本来リロード時のイベントが、ボタン押下時のイベントを知っているわけ
ないんですが、これしかうかびませんですた。

スレ違いにもかかわらず、申し訳ありませんでした。
0897 02/08/06 22:33ID:???
>>891
それはZIP圧縮?
0898Piano02/08/06 23:37ID:???
ランキングCGI作ってるんですが
降順で表示させようと
reverse sort (@count);
で実行すると、

9
9
8
7
4
2
16

・・と、なぜか16が最後に来てしまいます。
どなたか分かる方いらっしゃいませんか?
0899nobodyさん02/08/06 23:41ID:Fh8h+3RQ
辞書式に降順してるんでしょ。
reverse sort {$a <=> $b} @count
で、どうでしょ。チェックしてないけど。
0900 02/08/06 23:43ID:???
sort{$b<=>$a}@count;
0901Piano02/08/06 23:44ID:???
>>899
出来ました!!
ありがとうございました!!
0902Piano02/08/06 23:44ID:???
>>900
reverse使わなくても出来るんですね。
参考になりました、ありがとうございます。
090389902/08/06 23:51ID:Fh8h+3RQ
そうか>>900の書き方でいいのか…
0904 02/08/07 00:24ID:ulRsWHQg
すみません、基本以下の質問なのですが、PHPを設置できるレンタルサーバ
はないでしょうか?
御存じの方、教えてください。お願いします。
0905nobodyさん02/08/07 00:36ID:nEZxoP/q
xrea
0906nobodyさん 02/08/07 06:28ID:4Lzws0bX
kz islandさんの「アクセス人数表示Lacerta 0.11」CGIを設置したいんですが

ダウンロードする
属性を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:???
shtml だと思うが……。
090890702/08/07 07:15ID:???
すまん、寝起きで変なことを書いた。
「SSI が有効な設定になっていて
拡張子が shtml になっているのか?」
と言いたかったんだ。
0909nobodyさん02/08/07 07:54ID:???
いらっしゃーい、Perlの「コーディング」で困ってる人のスレです。
0910nobodyさん02/08/07 09:02ID:fr9q9q5s
cgiの中でxmlファイルを生成して、(xslは当然もとから用意しておいて)
xmlをhtmlに変換する事はできますか?

xmlとxslだけではIEでしか表示できないので普通に手作業で、
msxsl.exeを使ってhtmlへ変換していましたが
今回はcgiでxmlを生成してそこからhtmlへ変換することになったのです。
なのでmsxsl.exeの役割をcgiの中でも出来るのかどうかというわけなのです。
0911nobodyさん02/08/07 09:16ID:???
>>910
DOMとかそう言うXMLの常識の言葉を知っていれば答えは自分で出せるはずだけど。
0912nobodyさん02/08/07 10:56ID:7jIJ9A+d
うpろだを作ってるのですが、

送信するものがファイルのみならうまくいくのですが、
一行コメント等もいっしょに送るにはどうすればいいでしょうか?

というのも、
binmode(STDIN);
とやって標準入力をバイナリモードにしちゃうやりかたしかわからないので

テキストは受信してもめちゃめちゃなんですよ。
0913nobodyさん02/08/07 11:26ID:???
テキストもバイナリで受け取っても問題ないと思うが?
ただ\nとかいう表現方法はお勧めできない。
0914nobodyさん02/08/07 12:02ID:biTmKPZ6
まさか、エンコードした日本語を「化けてる」って言ってる
わけじゃないよね。
0915nobodyさん02/08/07 12:05ID:???
>>912
テキストファイルをアップロードしたら、まんま送られるだろ。どうめちゃめちゃなの?

>>914
アップロード時に日本語がエンコード???
0916nobodyさん02/08/07 12:49ID:???
>>915
うpろだでアップロードなんだから、日本語とかはURLエンコードされてしまうと思われ。
0917nobodyさん02/08/07 13:31ID:???
>>916
オマエどこ中だよ!
0918nobodyさん02/08/07 14:18ID:???
>>912
binmodeってWindowsサーバ使ってるのか。
0919nobodyさん02/08/07 14:24ID:???
>>917
落ち着けよ。
0920nobodyさん02/08/07 15:36ID:???
>>915
日本語テキストファイルはそのまんま送られないよ。
「アップロード URLエンコード」とかのキーワードで探せばわかる。
0921nobodyさん02/08/07 16:07ID:???
>>916=920
君は何か勘違いをしている。
0922nobodyさん02/08/07 16:30ID:???
>>921
とりあえず、お前の見解をどうぞ。
0923nobodyさん02/08/07 16:34ID:???
>>912はどこにもテキストファイルとは書いてない。
092492002/08/07 16:50ID:???
>>920はテキストファイルじゃなくってテキストそのもののことです。
それでも>>921の見解は間違いなことにはかわりない。

とりあえず日本語をHTTPでやり取りするときには(ブラウザ側で
自動的に)URLエンコードされるのは当然なんだが、それは知って
いるのかな?
0925nobodyさん02/08/07 17:00ID:???
>>924
お前はテキストファイルと書いたがな。
092692102/08/07 17:01ID:???
>>920=%E3%81%B0%E3%81%8B
092792102/08/07 17:44ID:rbDAoZ/o
私の見解を
enctypeがapplication/x-www-form-urlencoded(デフォルト)なら日本語はURLエンコードされる。
しかしアップローダということなので恐らくenctypeはmultipart/form-dataと思われる。
multipart/form-dataではURLエンコードはされない。
以上
0928nobodyさん02/08/07 18:06ID:???
>>927
漏れもファイルのほうはそう思うが、
送られてくるテキストの方が掲示板のデータように送られてくるのだとしたら、
URLエンコードされてしまうと思う。

つーか、>>912現れてどうめちゃくちゃなのか言え!
092992102/08/07 18:23ID:IJRoW2QJ
<form enctype="multipart/form-data" method="POST" ・・・>
<input type="text" name="hoge" value="日本語">
<input type="submit">
</form>
これでエンコードはされない
だけどboundaryとかが入るのでnameとvalueの受け取りが面倒。
0930nobodyさん02/08/07 18:38ID:sSYiyIo6
>>921=ばか
0931nobodyさん02/08/07 18:41ID:mhNc4G4w
とりあえず、実際にやってみれば判るんでない。
093292102/08/07 18:43ID:2dLUgCtT
>>930
正解でし(UTF-8)
0933nobodyさん02/08/07 19:00ID:???
>>912
CGI.pm使うかcgi-lib.pl使っとけ。
0934nobodyさん02/08/07 20:42ID:???

これは?

%82%A4%82%F1%82%B1
0935nobodyさん02/08/07 20:48ID:???
>>934
それをUTF-8でデコードしろ。
0936nobodyさん02/08/07 21:19ID:???
perlのコメントを自動的に取り除いてくれるソフトありませんか?
0937nobodyさん02/08/07 21:21ID:???
Perlがもっとも得意とする分野なんだが・・・。作れ。
0938nobodyさん02/08/07 21:23ID:???
>>935

いやネタとして出題しただけだが
俺が分からなくて困っているのではない。
0939 nobodyさん 02/08/07 21:30ID:???
>>936
perldoc -q comments
で、C Styleのコメントを取り除くscriptを解説してくれている。
それを参考にしる。
0940nobodyさん02/08/07 23:13ID:???
$val =~ s/&/&/g;
$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:???
>>941

もしコメントとして書く場合はどれが適当でしょうか?

■[置換]のEXCEED和英辞典からの検索結果 


ちかん
置換

substitution; replacement; 《数学》 a permutation. 〜する substitute; replace; 《数学》 permutate. 

0943nobodyさん02/08/07 23:32ID:???
tikan;
esuke-pu;
↑ これが伝説のPGにだけ許される最高の称号
0944nobodyさん02/08/08 00:00ID:???
思うに次スレたてて欲しくない。
ぜんぜんPerlの話じゃないやん。
CGIすれに統合!でめでたしめでたし終わり。
0945nobodyさん02/08/08 00:19ID:???
CGIすれも終わった方が良いんじゃネーノ?w
http://pc.2ch.net/test/read.cgi/php/1025930486/462-
0946nobodyさん02/08/08 00:22ID:???
>>936
モジュールはちと面倒くさいけど、普通のスクリプトからコメントを
取るなら多分 perl -MO=Deparseが一番簡単だと思う。B::Deparseなら
q#foobar# とかの"#"に惑わされる事はないし。
0947nobodyさん02/08/08 00:30ID:???
>>946
ボクりんが今から作るから、チョット待っててネ、パックン!
0948nobodyさん02/08/08 00:31ID:???
次スレは【Perlコーディング】とタイトルに入れてほしい。
0949nobodyさん02/08/08 00:32ID:zM69Q9o6
正規表現で
アイウエオという文字列があったときに
ア イ ウ エ オ
文字ごとに空白を
ってあける方法ってありますか?
あるとしたらどうやるのでしょうか?
簡単にできそうで2バイト文字の扱いがよくわかりませんでした・・・
0950nobodyさん02/08/08 00:41ID:???
>949
ttp://www.din.or.jp/~ohzaki/perl.htm#JP_Split
ここ参照。
095194702/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
>>949
正規表現じゃなくて良いなら。応用は自分で考えて。

$hoge = index($value,'アイウエオ');
if($hoge > -1){
for($count = 0; $count < 4; $count++){
substr($value,$hoge+2,0) = ' ';
$hoge += 3;
}
}
095394702/08/08 01:43ID:???
>>949
ど?

s/([\201-\237\340-\374].|.)/$1 /g;
095494702/08/08 01:48ID:???
>953
あ、書き忘れたけどSJIS対応ね。 EUCなの?
095594702/08/08 01:52ID:???
EUC対応ど?

s/(\216[\241-\337]|\217?[\241-\376].|.)/$1 /g;
0956nobodyさん02/08/08 02:44ID:???
文字列に"#~()<>などの記号が何回含まれてるかを調べるにはどうしたらいいべかー
095794702/08/08 03:02ID:???
>>956 ど?

$n= tr/#//;
095894702/08/08 03:04ID:???
わかりにくい書き方した? もいちど。

$n= $_=~ tr/#//;
0959感謝する95602/08/08 03:15ID:???
簡単にできたんすね。初心者ゴメン!ヽ(`Д´)ノ
0960nobodyさん02/08/08 03:17ID:???
>>958
置き換えられてしまわない?
0961nobodyさん02/08/08 03:26ID:???
d付けなきゃ大丈v(゚д゚)
0962nobodyさん02/08/08 04:31ID:???
EUCで書いた自作チャットをケータイ端末に対応させようとしたところ
古いi-modeではログが化けてしまう模様
調べたところ解決策はどうもないっぽいんで駄目押し覚悟でここへ来た
質問。
解決策はあるますか。
0963nobodyさん02/08/08 04:35ID:???
Shift_JIS に変換してみる。
0964nobodyさん02/08/08 04:36ID:???
>>951
今試してみたらなんにもコメント取らないんだけど・・・
0965nobodyさん02/08/08 04:37ID:???
EUCで書いたまま変換させる?
それとも最初からSJISで保存する?
0966nobodyさん02/08/08 04:43ID:???
>>965
出力のみShift_JISがいいかと。
0967nobodyさん02/08/08 04:48ID:???
>>966
方法がわからなくて。
METAタグじゃないよね。。
0968nobodyさん02/08/08 04:56ID:???
jcode.pl Jcode.pm のどちらかを使って、ログをShift_JISに変換。
0969nobodyさん02/08/08 05:01ID:???
jcode::convert(\$body,"sjis");
てなかんじ?
0970nobodyさん02/08/08 06:23ID:???
>>964
こういうこと?
対象に上書きするので注意。

#! /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";
097197002/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:???
"確立"は求められないなぁ。。。
0974nobodyさん02/08/08 08:50ID:???
>>973
やばいぞ君…。
0975 ◆adminSE. 02/08/08 09:11ID:???
[確立]かあー・・
0976nobodyさん02/08/08 09:43ID:???
9C3 / 30C3 かな? もう忘れた。麗しき過去の記憶...学生時代よもう一度。
0977nobodyさん02/08/08 10:12ID:???
(3/10) * (2/10) * (1/10)

Web Prog 板で Perl 初心者てことは、 Web Prog の初心者は来るなと?
最終回記念カキコ
097896402/08/08 10:35ID:???
>>970
いや、俺は最初の質問者じゃないんだけど、回答を試してみたら
何も起こらなかったという事を報告したかっただけ。

ちなみに>>970のヤツだとやっぱり

qw/
#foobar#
/;

sprintf(
'%s-000',
$foo = q#foobar#,
);

とかもちょんぎられちゃうから駄目だと思う。
(だから確かなのはO::Deparseくらいしかないと思うわけだが・・・)
0979nobodyさん02/08/08 11:18ID:???
(9/30) * (6/29) * (3/28)
098094702/08/08 12:24ID:???
>>978 動かなかった? 以下のでど? 対象ファイルを@filesに設定

#!/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:???
perlのモジュールを本を見ながら作ったのですがどうやって読みこませるのですか?
0982nobodyさん02/08/08 14:25ID:???
┌──────────────────────―─―┐
│                                      |
│                                      |
│                                      |
│                                      |
│                ∧_∧                      |
│               ( ・∀・)                |
│               (    )                 |
│               | | |                     |
│               (__)_)                  |
|                WebProg                |
│                                      |
│        【Perl】初心者コーナー を終了しています…     |
│                                      |
│                                      |
|                                      |
|                                      |
└───────────────────────――┘
0983nobodyさん02/08/08 15:59ID:N0Sb7H4r
各種リンク集。掲示板のある専門サイトとかPerlハウツーサイトとか
 ↓
http://hp.vector.co.jp/authors/VA014700/l_goodhp.html
0984nobodyさん02/08/08 16:11ID:???
>981
読みこむ方で(モジュールファイルをModule.pmとして)、
use Module;
とやる。
モジュール作れたんなら、分かっているはずだが...?
0985nobodyさん02/08/08 18:04ID:UER6B09R
掲示板作成中なのですが、
ページを更新したり、そのページを訪問しただけで投稿記事が増えてしまします。
どのような対処法があるのですか?
locationを使おうと思ったのですが、うまくいきません。
よろしくお願いします。
0986sa02/08/08 18:07ID:???
a
0987nobodyさん02/08/08 18:10ID:???
公開されているものを参考にする。
098898502/08/08 18:15ID:UER6B09R
>>987
そうします。
ついでに、もしよろしければ
どのような記述を参考にすれば良いのかヒントだけでもいただけま戦火?
0989nobodyさん02/08/08 18:53ID:???
>>985
内部処理チェックしてみてわ。
訪問しただけでも増えるなら、おそらく処理途中で必ず投稿処理を行うような感じになってるから
0990nobodyさん02/08/08 18:56ID:???
記念パピコV(^o^)V
0991nobodyさん02/08/08 19:34ID:???
>>984

モジュールってインストールしなきゃつかえないんですよね?
module.pmをmoduleっていうフォルダにいれてるんですがそれを
呼び出すのは無理?
0992nobodyさん02/08/08 19:57ID:???
>991
何か壮大な勘違いをしている可能性アリ。
呼び出す側のルーチンで
use Module;
デスヨ?
0993nobodyさん02/08/08 21:17ID:???
>>992

test.cgiから

moduleフォルダの中にあるmodule.pmを呼び出す場合は

test.cgiにuse Module;って記述するんですよね?
それでやってみたんですができなかったんですが・・
099499302/08/08 21:18ID:???
↑はuse moduleに訂正 
0995nobodyさん02/08/08 21:50ID:???
>>992
perldoc lib
0996nobodyさん02/08/08 21:54ID:???
>>993
それでやるならtest.cgiも同じフォルダにつっこんどけ
0997nobodyさん02/08/08 22:01ID:???
push @INC, './module';

じゃダメポ?
0998nobodyさん02/08/08 22:02ID:???
use lib './module';
でもいいかと。
0999nobodyさん02/08/08 22:12ID:???
jhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
1000100002/08/08 22:13ID:???
次スレは無し。
CGIスレッドに統合すべし。
反論する者がなければ決まり。
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。