【Perl 】初心者コーナーPart6
■ このスレッドは過去ログ倉庫に格納されています
0001undefさん
2001/07/26(木) 00:40ID:???尋ねる前に同じ質問がないかこのスレや旧スレ、及び>>2のリンクを一通り見てみよう。
案外答えはもう書かれているかもしれない。
0301名無しさん@お腹いっぱい。
2001/08/09(木) 02:45ID:???みたいな事は無いかな?
0302名無しさん@お腹いっぱい。
2001/08/09(木) 02:47ID:???この回答かなり困るやね。
0303名無しさん@お腹いっぱい。
2001/08/09(木) 02:50ID:???どうもバージョン関係がぁゃιぃな
0304名無しさん@お腹いっぱい。
2001/08/09(木) 02:53ID:???私はこれでモジュールの設計変更を余儀なくされた。
0305名無しさん@お腹いっぱい。
2001/08/09(木) 02:57ID:1PgCYU2Aいやね、鯖の解説ページにそれだけしか書いてないんですよ。
僕も見た瞬間「げ!」と思ったんですが…。
ちなみに今まで10個くらいスクリプト書いてこの鯖で動かしましたが他のは大丈夫です。
それらの中では今回のスクリプトはかなり単純な方なのに…。
ちなみにただのフォームメールです。っていうかまだsendmailには送ってなくて、
フォームからの入力内容を画面に表示させてるだけです。
あ、レスくれた方ありがとうございました。
と言っても引き続きお願いします。
バージョン以外でなんかないですかね。
0306304
2001/08/09(木) 03:00ID:???スマソ。
>>305
バージョン見たいなら、
$command = `perl -v`;
print $command;
みたいな感じで見れませんか?
0307名無しさん@お腹いっぱい。
2001/08/09(木) 03:06ID:1PgCYU2Aありがとうございます。やってみます。
0308307
2001/08/09(木) 03:11ID:1PgCYU2Aむむ。なんかその方法だとうまくいかないッス。
ちなみにtelnetはつかえません。
Perlの5と5.6ってどの辺が違うんでしょうか?
正規表現の拡張くらいしか知らないんです。
0309名無しさん@お腹いっぱい。
2001/08/09(木) 03:13ID:bI3E6lI.http://search.cpan.org/doc/CHIPS/perl5.004_05/lib/base.pm
これを見るとPerl 5.004_04 では存在していたっぽいけど?
たとえbase が使えないからって、@ISAに入れればすむような気がするけど、
設計変更を余儀なくされるってどういうモジュール?
0310名無しさん@お腹いっぱい。
2001/08/09(木) 03:19ID:bI3E6lI.$] にperlのバージョン入ってるよ。
5.005と5.6の違いはいっぱいあるのでここ。
http://www.perldoc.com/perl5.6/pod/perldelta.html
0312名無しさん@お腹いっぱい。
2001/08/09(木) 03:26ID:???とはいえXSを使ってるわけじゃないから設計変更するまでのことはないと思うが…。
0313304
2001/08/09(木) 03:44ID:???0314307
2001/08/09(木) 03:53ID:KTDhsApQありがとうございます。バージョン分りました。
5.00503…。あやしい…。
教えていただいたサイト行ってみましたが
今はちょっと時間がないのでこんなに読んでいられないです。
今度じっくり読みます。
とういうわけでできればバージョン5と5.6の違いで注意すべき点などありましたら
教えていただけると助かります。ほんと教えて君ですいません。
0315307
2001/08/09(木) 04:11ID:???いろいろ調べてみて、全部コメントアウトして、
print "ok";
だけにしてもエラーがでたのでちょっ根本的に違うだろ。
と思ってその前で呼んでるrequireを疑ってみました。
で、その呼んでるファイルの中でダブルクォートの内側に
@マークをそのまま書いていたのがいけなかったようです。
\@にしたら動きました!
ホント皆さんありがとうございました。
勉強になりました。
0316名無しさん@お腹いっぱい。
2001/08/09(木) 11:47ID:???, -―- 、
, l[》《]| ヽ
/ i/ i ノノノ ))))〉
. / i i |(リ ( | | | ! / ̄ ̄ ̄ ̄ ̄
〈ヘ|_|l| l ゝ~ lフ/| < 質問に答えてくれるみなさん ありがとう
/ | | |( ヽwliヽ | \_____
/ /! | l ヘ《~ヘii~▲▲
/ /ノノ! ノ|リ〉 \/( ゚ω゚)
/ , ./-‐- 、/V\ハ_ヲUU
!/ ./ / / | ゝ つつ
ヽ_/ ./ ! jj \
/ i
〈 / | |'
ゝ / l | !/
`〜‐-L__」〜'^
0317名無しさん
2001/08/09(木) 12:16ID:???0318名無しさん@お腹いっぱい。
2001/08/09(木) 12:26ID:???gmtimeはグリニッジ天文台(跡地)の時刻を返す
localtimeはそのサーバーで設定されているタイムエリアの時刻を返す
0320名無しさん@お腹いっぱい。
2001/08/09(木) 18:00ID:4s0a7Yec以下の通りにしたいのですが、
↓の部分にxhtmlをはさんで表示させることってできますか?
例えば<link />なんかが入ると、500エラーになってしまいました。
print <<"__HTML_START__";
Content-Type: text/html
【ここ】
__HTML_START__
0321名無しさん@お腹いっぱい。
2001/08/09(木) 18:08ID:???xhtmlだろうがxmlだろうが関係ない。入れられる。
なにか他の原因があるはず。
最低限エラーが出るスクリプトを出してみ。
0322名無しさん@お腹いっぱい。
2001/08/09(木) 18:17ID:???最低限に絞っていくと分かりました!
<head></head>の中の、
<link rev="made" href="mailto:[email protected]" />
これを無くすと、500にならなくなりました。
しかし、これの何が原因なのか・・・
# 他の<link />は大丈夫でした。
0323名無しさん@お腹いっぱい。
2001/08/09(木) 18:19ID:???とかって書いてるんでしょ。
<link rel="made"href="hoge\@hoge.jp" />
にしてみ。
あと、関係ないけど __HTML_START__ よりも __HTML_END__ の方がいいと思う。
0324323
2001/08/09(木) 18:20ID:???@ が悪さしてるから \@ にしてね。
0325名無しさん@お腹いっぱい。
2001/08/09(木) 18:25ID:???@が原因でしたか。直してみます。
ありがとうございました<(_ _)>
0326微笑
2001/08/09(木) 19:08ID:???〃 _`__
,,-=-、、l{,_'´..._ `ヽ、、
〃. ',.´二W´- ‐-`\ \ヽ、___
_{l,'.'´ 、 ヽ ヽ ヽ彡k、ヽ\
.//`/ i l. \ 、ヽ `、 i彡}ヽ`' ´ ▲女優,アイドル、脱がしました▲
. /| / i { |l {\ {ヽ、_!..ヽ」_/} .}./ |__〉、
\l.{. l.ヾ _.ゝ_土. ゝ -'fT;;ヽ,| lテ}| ||__〉
/iヽゝヽ/{~);;:l {:..''ノ'ノノ|{ノ |_!!女優,女子高生のエッチ画像ばかりを厳選収集!スクール水着,女優,画像ばかり。
.|_|l」ヽ. ヽ ゞ‐' 、  ̄`ノレヽソ|
(.ソ.ゝ -- /' {=}ノ ◆アイドル画像秘宝館◆
(=| l へ、 /ノノ((.)). http://www.futomomo.com/netidol/idolhappy/maki/
((!)ヾヽヽ` ;.- ' ´ |'' ''"'´◆アイドラー◆
`~^``/'l ゜>\_ http://www.futomomo.com/netidol/idoler/megu/
, -‐〃"´ |___/ >- 、 ◆セーラー服◆
/ ./〃 |=/ 〃/ \ http://www.futomomo.com/netidol/sailor/miku/
/ | ||, ‐-、_,...!、/_ ,..、 .〃/ ヽ ◆人妻◆
〈 / -ー.{ { {.= ヽ、|| l | http://www.futomomo.com/netidol/waif/mai/
| ヽ /| |\ / i 〉 | ◆スイート倶楽部◆
〈 ∧ l_/./ | | \ _/ / / http://www.futomomo.com/netidol/sweetclub/miyuki/
desghgyj
0327名無しさん@お腹いっぱい。
2001/08/09(木) 19:27ID:???もう終わってる話だけど。
here docは、識別子の引用型によって中の文字列型が決まるよ。
例えば今回だったら、
<<"__HTML_START__"; (ダブルクォート文字列)
<<'__HTML_START__'; (シングルクォート文字列)
<<`__HTML_START__`; (バッククォート文字列)
というわけですな。参考までに。
0328名無しさん@お腹いっぱい。
2001/08/09(木) 20:10ID:MDUdBd8.配列にセットしたいのですが、どうしたらいいでしょうか?
0329名無しさん@お腹いっぱい。
2001/08/09(木) 20:13ID:???0330名無しさん@お腹いっぱい。
2001/08/09(木) 20:42ID:???の最後の /> は何ですか?
<link rel="made"href="hoge\@hoge.jp">
これじゃ駄目なのでしょうか?
0331名無しさん@お腹いっぱい。
2001/08/09(木) 21:03ID:???Web製作版に逝ってよし
0332名無しさん@お腹いっぱい。
2001/08/09(木) 21:25ID:???XHTML では全てのタグに終了タグが存在し、且つ終了タグの省略が禁止。
んで、省略は出来ないけどその代わりに省略形が存在し、
<link rel (中略)></link>
の省略形が
<link rel (中略) />
というわけ。
大方こんな感じ。
0333名無し募集中。。。
2001/08/09(木) 22:53ID:.n9qBKK2似たようなのが無いからこれ使ってるんですが
これだとカテゴリー内で新しく登録したサイトが上からソートされるんだけど
これを下からソートさせたいんだけどどうすればいいですか?
あと登録したurlにhttp://が含まれない場合はエラー出すようにしたいんですけ
ど
unlessとif(!をどう使えばいいでしょうか?ご教授お願いします(;´Д`)
0334un
2001/08/09(木) 23:18ID:???0335名無しさん@お腹いっぱい。
2001/08/09(木) 23:32ID:qC8qL/U.これはどういう意味なのでしょうか?
「1; Perl」のキーワードで検索してみましたが、出てきませんでした。
0336名無しさん@お腹いっぱい。
2001/08/09(木) 23:37ID:???ざっと見てみたけど、まず並びに関しては、273,275,277行目の"push"を
"unshift"にするか、277行目と278行目の間に
@new = reverse @new;
を加えるかすればいいと思う。
それからエラーは、234行目のifのカッコの中を、たとえば
$in{'url'} !~ m{http://[a-zA-Z0-9\-/.~?%#=&:;+@]+}
とかに変えればいいんじゃないかな。
0337名無しさん@お腹いっぱい。
2001/08/09(木) 23:40ID:???ブール値の1を返す。
0339336
2001/08/09(木) 23:43ID:???$in{'url'} !~ m{^http://[a-zA-Z0-9\-/.~?%#=&:;+@]+$}
0340336
2001/08/09(木) 23:51ID:???並びの方は忘れてくれ。
0341333
2001/08/10(金) 00:02ID:???ありがとうございました。
しかし、並びの方ができませんでした。苦笑
登録した順に上から必ず
3124
41235
512346
このように表示されます。
目が冴えてるときにでも、またお願いします(ノД`、)
0342名無しさん@お腹いっぱい。
2001/08/10(金) 00:07ID:???>>337でわかったのか!?
1を聞いて10を知るとは…スゲェ奴だな。
0344名無し
2001/08/10(金) 01:00ID:???&reload if(!$comment)じゃだめですよね?
0345名無しさん@お腹いっぱい。
2001/08/10(金) 01:09ID:???if ($comment eq "") { &reload; }
0346名無しさん@お腹いっぱい。
2001/08/10(金) 01:09ID:???if ($comment eq "") { &reload; }
0347名無しさん@お腹いっぱい。
2001/08/10(金) 01:12ID:???0348名無しさん@お腹いっぱい。
2001/08/10(金) 01:12ID:???0349344
2001/08/10(金) 01:22ID:???>>347
両方ともだめでした。
htmlファイルを作るタイプだからだめなのかな
public_html/cgi-bin/bbs.cgi
に投稿して、普段は
pubglic_html/index.html
をアクセスするタイプです
0350名無しさん@お腹いっぱい。
2001/08/10(金) 02:17ID:uDrjeUNELocation
0351ナナ萌え(゚д゚)ウマー
2001/08/10(金) 03:18ID:???print "Location: $path\n\n";
}
0352名無しさん@お腹いっぱい。
2001/08/10(金) 13:54ID:???0353名無しさん@お腹いっぱい。
2001/08/10(金) 14:01ID:???0354名無しさん@お腹いっぱい。
2001/08/10(金) 14:49ID:ed6w6DP2のように出力先をtest.txtに設定した状態で、
例外的にプロンプトの方に出力させるには
どのように書けばよいのでしょうか。
0355名無しさん@お腹いっぱい。
2001/08/10(金) 15:03ID:???どういう役割のコマンドなんですか?
0357名無しさん@お腹いっぱい。
2001/08/10(金) 15:09ID:???逝って来ます。
0358名無しさん@お腹いっぱい。
2001/08/10(金) 15:39ID:???print "1";
print STDERR "2";
0359名無しさん@お腹いっぱい。
2001/08/10(金) 17:37ID:ed6w6DP2$a="abc";
$b="abcdef";
if($b=~ /$a/)
{
イメージとしてはこんな感じです。
0360名無しさん@お腹いっぱい。
2001/08/10(金) 17:38ID:ed6w6DP20361名無しさん@お腹いっぱい。
2001/08/10(金) 17:54ID:???これか、、
http://corn.2ch.net/test/read.cgi?bbs=php&key=988728069&st=518&to=526&nofirst=true
0362名無しさん@お腹いっぱい。
2001/08/10(金) 18:48ID:???ls -lRなら知ってる、"ls"はディレクトリを表示するUNIX系OSのコマンド
DOSの"DIR"みたいな奴だ。
"-lR" はオプションで、まぁその根こそぎ表示すると思ってくれればいい。
systemが投げるコマンドが解らない時はこんな所を探して調べればいい
http://www.linux.or.jp/JM/
0363名無しさん@お腹いっぱい。
2001/08/10(金) 20:00ID:???処理速度が速くなったりするのですか?
0364名無しさん@お腹いっぱい。
2001/08/10(金) 20:01ID:???相手にされたければ黙って使っておけ。
0365.
2001/08/10(金) 20:10ID:qy20tGgA君の能力ではその程度に認識なのかも知れないが、世の中には自分以上の
人間や物事を深く掘り下げて認知しようとする人間
が沢山居ると言う事を忘れてはいけない
0366名無しさん@お腹いっぱい。
2001/08/10(金) 20:14ID:???今度はこっちに来たの? やれやれ……。
0367名無しさん@お腹いっぱい。
2001/08/10(金) 20:24ID:???勘弁してよ。
君のためのスレはちゃんとあるんだから。
もうこっち来ないでね。
0368トリップの解析したい人
2001/08/10(金) 22:58ID:???それとも他にPerl板っていう板があるんですか?
0369名無しさん@お腹いっぱい。
2001/08/10(金) 23:01ID:???http://corn.2ch.net/test/read.cgi?bbs=entrance&key=997381086&st=119&to=119
0370368
2001/08/10(金) 23:11ID:???すいません、そのプログラム?の意味がわかりません。
質問させてもらいます。今、トリップスレに書いてあった
#!/usr/local/bin/perl
$counter = 'aaaaa'; # マジックインクリメント用
$seed = 'Q!<'; # ランダムな文字列
$str = 'nofx'; # 探す文字列の正規表現
while(1){
$_ = substr(crypt("$counter$seed", 86), -8);
print "$counter$seed - $_\n" if /$str/oi;
last if ++$counter eq 'aaaaaa';
}
っていうのでやってみて実際動作したんですが、
これの結果を自動でテキストで保存できるようには
できませんか?
トリップスレの方は解析で忙しそうなので…
0371名無しさん@お腹いっぱい。
2001/08/10(金) 23:21ID:???そんなのPerlの質問ですらないぞ
0372ループ鯖完 T_T
2001/08/10(金) 23:48ID:???実験するのはやめておくれよぅ・・・・・
0373 ◆0nyWWW/2
2001/08/11(土) 00:06ID:???0374名無しさん@お腹いっぱい。
2001/08/11(土) 00:19ID:???家の弟です。 迷惑かけて申し訳無い
んにゃろ、、ぶっ頃してやる
0375pp
2001/08/11(土) 00:22ID:???↑
すいませんが、このスレの40ってどういう事?
取り敢えず可能なんですね?
0376名無しさん@お腹いっぱい。
2001/08/11(土) 00:29ID:???>>375
実際出来てる所見ると可能なんでしょう、もう対策されたみたいですけども
PG板で おしえて!!! とかスレ立てちゃだめだよ。
0377333
2001/08/11(土) 02:01ID:V2ESYaRc0378名無しさん@お腹いっぱい。
2001/08/11(土) 02:13ID:???うーん、スクリプト見るのが面倒だ。
Perlの話というより、CGIの改造でないかと、コレ。
というか、336で決着ついてないのかな?
# ネタだったりして(w
0379名無しさん@お腹いっぱい。
2001/08/11(土) 02:15ID:???一気に置換するのに一番効率のよい方法あるでしょうか?
ログファイルのコンバートに使いたいのですが・・・
よろしくです。。。
0380333
2001/08/11(土) 02:23ID:V2ESYaRc>>336の通りにすると>>341のような現象が起こるので解決してません。
自分でも@new=sort(@new);とか考えられる限りの事は尽くしてみたんですができませんでした。
0381名無しさん@お腹いっぱい。
2001/08/11(土) 04:46ID:???こんなんでやっていけるのだろうか
0382名無しさん@お腹いっぱい。
2001/08/11(土) 04:47ID:???0383名無しさん@お腹いっぱい。
2001/08/11(土) 05:00ID:???やってれば自然と出来るようになるよ。
0384名無しさん@お腹いっぱい。
2001/08/11(土) 06:29ID:j13TLi42perl -pi.bak -e 's/foo/bar/g' *.logとか?
.logの拡張子のファイル中のfooをbarに変換し、
元のファイルはhogehoge.log.bakみたいに保存される
サブディレクトリ以下も対象ならuse File::Find等使えばok!
でも一番効率の良い方法ってどういう意味?こんなの、
効率も糞もないと思うのだけど…
0385名無しさん@お腹いっぱい。
2001/08/11(土) 11:58ID:X8Jv3YYU環境によっては動かない(特にWindows系は*の処理がイマイチ)
>379
環境も書いとけ。systemコマンドでシェル使ったほうが早い場合も
あるからな。
0386名無しさん@お腹いっぱい。
2001/08/11(土) 20:50ID:???0387386
2001/08/11(土) 20:53ID:???事故解決しました。
0388379 ◆PL.a6eWs
2001/08/11(土) 23:47ID:???>>385さん、どうもありがとうです。
>でも一番効率の良い方法ってどういう意味?
ええと、効率がよいじゃなくてperlのみでできて環境に依存しない
方法でした・・・スマソ
サーバー上に変換スクリプトをおいて(シェルはつかえないので)したいなと
思ってますです。
ローカルのWinの環境でも出来ればそれでいいんですが。。。
0389kkkkkkkk
2001/08/12(日) 02:40ID:???動かないんです。
#!/usr/bin/perl
print "Content-type: text/html\n\nOK.\n"; exit(1);
なにが悪いんでしょう。
cgi本体:http://www41.tok2.com/home/harebare/cgi-bin/test.cgi
ファイル名に.txtをつけたもの。
http://www41.tok2.com/home/harebare/test.cgi.txt
こんな簡単なことではまるなんて。
cgi-binのパーミッションは701
test.cgiは700。
だれか助けて〜
0390 ◆0nyWWW/2
2001/08/12(日) 02:42ID:???・改行コード
・全角文字が混じっていないか
0391kkkkkkkk
2001/08/12(日) 02:50ID:???利用するにおいての注意事項はありますか?
・倉庫としてのご利用(音楽・画像等のデータを置いておくだけ)は出来ません。
・「index.html」もしくは「index.htm」の設置は絶対に必要です。
・「index.html」もしくは「index.htm」に<TITLE>タグでタイトルを記入しておいて下さい。
記入されていない場合、アクセスランキングに参加出来ません。
・CGIのみの使用は禁止しております。
↑こいつのせいでした。
0392名無しさん@お腹いっぱい。
2001/08/12(日) 06:45ID:???まずは自分で作ってみたの?そんなの数行で出来るぞ。
初心者だからといってなんでも人に頼ってはPerlの上達も
見込めないよ。
「こう作ったんですけど動かない」ならともかく、何も
ものがなくて、教えてと言われてもね。特にPerlは、
やり方は何通りもあるんだから。
0393名無しさん@お腹いっぱい。
2001/08/12(日) 20:32ID:???テキストファイルを読み込んで、'ポニーテール'のはいった行を抽出しようとしました。
push(@out, $_) if($_ =~ m/ポニーテール/);
とすると、最初の「ー」がまずいというエラーが出たので、
push(@out, $_) if($_ =~ m/ポニ/);
とすると、ほとんどの行が当てはまってしまいました。
後半のまずいのはたぶん、windows98 + ActivePerlで「ポ」の文字コードの後半が
0x7cで|ですから、part1の「鉄鋼」が化けるのとおなじじゃないかなと思いましたけど
読んでも対策ができませんでした。よろしくお願いします。
0394名無しさん@お腹いっぱい。
2001/08/12(日) 21:36ID:???push(@out, $_) if($_ =~ m/\Qポニーテール\E/);
0395名無しさん@お腹いっぱい。
2001/08/12(日) 21:54ID:???ありがとうございます。できました。
\Qは、\Eがでるまでのメタキャラクタを打ち消すんですね。勉強になりました。
0396395
2001/08/12(日) 21:59ID:???0397名無しさん@お腹いっぱい。
2001/08/13(月) 00:38ID:???>尋ねる前に同じ質問がないかこのスレや旧スレ、及び>>2のリンクを一通り見てみよう。
>案外答えはもう書かれているかもしれない。
1にこう書いてある。 どうして過去ログ読まないんだろう。
せめて初心者スレッドの過去ログくらいは…。
本当に役に立つ事が書いてあるよ。もちろん改行コードとか\Qとかも。
0398名無しさん@お腹いっぱい。
2001/08/13(月) 04:54ID:a9/FXvbYACCEPT確認してエンコートヘッダにg-zip指定するだけじゃだめなんでしょ?
0399名無しさん@お腹いっぱい。
2001/08/13(月) 15:45ID:JzeNXb.k教えて〜ん。
0400名無しさん@お腹いっぱい。
2001/08/13(月) 16:15ID:???普通に取得できますが何か?
■ このスレッドは過去ログ倉庫に格納されています