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

Perl コーディング初心者質問コーナー Part25

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

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

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

最低でも1と3が無いと誰も答えられないよ。
ソース貼る時は、全角スペースでインデント忘れずに。
良い回答は良い質問から。一緒に勉強しましょう。

関連スレ
【Perl上級者コーナーPart01】
http://pc2.2ch.net/test/read.cgi/php/1024741312/
CGI: Common Gateway Interface part 11
http://pc2.2ch.net/test/read.cgi/php/1055597189/
【Perl,CGI】参考書籍 第三版
http://pc2.2ch.net/test/read.cgi/php/1030209573/
【 スクリプト改造工房 PART 6 】
http://pc2.2ch.net/test/read.cgi/php/1047806915/

過去ログやお勧めサイトは >>2-10
0978nobodyさん03/07/24 17:22ID:???
>>970 ID:kzmo+pjp ヴァカ丸だし晒しあげ
0979nobodyさん03/07/24 17:28ID:MQ0CG0Oj
>>978
なんでID出てないの
0980nobodyさん03/07/24 17:43ID:???
>>967
$group はハッシュリファレンスだろ?
$group = { name1 => [ ... ], name2 => [ ... ], ... } じゃねーの?

> print に渡した時にはスカラー値として、リストのデータが 3 あるから、
自分で . 演算子使ってスカラーコンテキストにしてるだけじゃん。

while (my($name, $num) = each %$group) {
print "N=[$name] ", 'V=[ ', join(' / ', @$num), " ]\n";
}

この辺しっかり読め。
http://www.kt.rim.or.jp/%7ekbk/perl5.005/perldata.html
http://www.kt.rim.or.jp/%7ekbk/perl5.005/perldsc.html
0981nobodyさん03/07/24 18:02ID:???
次スレまだぁ〜?
0982nobodyさん03/07/24 18:02ID:???
randが時間で決まると言うか、perl5.004以降はsrandを省略すると
srand(time)が自動的に実行されるってことだろ

>>970
完全にランダムも続けて同じ数字が出ないようにするのも
なんらかで出た値を保持する以外にないよ
0983nobodyさん03/07/24 18:08ID:???
次スレ立てないなら埋めるぞ
0984nobodyさん03/07/24 18:32ID:???
>>982
<q cite="http://www.kt.rim.or.jp/~kbk/perl5.doc/perldelta.html">
srandのデフォルトの種はtimeが使われていましたが、これは変更され
ました。現在では、予測するのが困難なシステム依存な値の激しい
(heady)組み合わせで、大部分の everyday purpose に十分なものです。

5.004以前では、srandを最初に呼ぶことなしに引数なしでrandを 呼んだ
場合、ほとんど、ひょっとしたらすべてのマシンで同じ乱数列を得ること
になっていました。現在、perlがそれ以前にsrandを呼び出 していないのに
randを呼び出しているのを検出したときに、perlは デフォルトの種を使って
srandを呼びます。5.004以前のシステムで実行するかもしれないような
プログラムでは、今でも srand を手作 業で呼び出すべきですし、あなたが
デフォルト以外のものを種としたい場合にももちろんそうすべきなのです。
</q>
0985nobodyさん03/07/24 18:34ID:???
うめ
0986nobodyさん03/07/24 18:35ID:???
梅。
0987nobodyさん03/07/24 18:36ID:???
うめー
0988nobodyさん03/07/24 18:38ID:???
おっぱい
0989nobodyさん03/07/24 18:46ID:???
ランダムに文を表示するやつを持ってるんだけど
その文章をリロードしても変わらないようにしたい。1日くらい。
そういうのって出来ませんかね。
↓今の状態
#! c:/perl/bin/perl

# おみくじを引く
$role = int(rand 6);

if($role == 0) {
$kuji = '大吉';
}
(略)
else {
$kuji = '凶';
}

# CGIヘッダの出力
print "Content-type: text/html\n\n";

# HTMLの出力
print "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\">\n";
print "<html>\n";
print "<head><title>Perlおみくじ</title></head>\n";
print "<body><p>今日のあなたの運勢は……<big>$kuji</big>です。</p>\n";
print "</html>";
0990nobodyさん03/07/24 18:52ID:???
なんだ、ばかばかしい・・・
0991nobodyさん03/07/24 18:57ID:???
>>989
クッキー
0992nobodyさん03/07/24 19:01ID:???
>989
同じIP && 異なるマシン(同じ世帯の別マシン) → IPと日付を使った数字をsrandの種にする
異なるIP && 同じマシン(ダイヤルアップ接続) → クッキーを使う
異なるIP && 異なるマシン(誰が見ても変わらない) → 日付をsrandの種にする
0993nobodyさん03/07/24 19:02ID:???
>>991
レス番がくっくいー
0994nobodyさん03/07/24 19:08ID:???
梅
0995nobodyさん03/07/24 19:12ID:???
>>982
srandが実行されていない場合、最初に一度だけ初期化される。
実際にはpidやら色々な値を足してる。
あと、/dev/randomが使えるなら、timeよりそっちを優先して使うようになってるぽい。

rand自体はCライブラリのrand()を呼び出したりしてる。
オーバーライドできるので、実装によって違いがあるかも。

http://pc2.2ch.net/test/read.cgi/php/1042260745/9
乱数ならこの辺りを参照。
0996nobodyさん03/07/24 19:18ID:???
                _∧_∧_∧_∧_∧_∧_∧_∧_
     デケデケ      |                          |
        ドコドコ   < 次スレまだーー?        >
   ☆      ドムドム |_  _  _ _ _ _ _ _ _ _|
        ☆   ダダダダ! ∨  ∨ ∨ ∨ ∨ ∨ ∨ ∨ ∨
  ドシャーン!  ヽ         オラオラッ!!    ♪
         =≡= ∧_∧     ☆
      ♪   / 〃(・∀・ #)    / シャンシャン
    ♪   〆  ┌\と\と.ヾ∈≡∋ゞ
         ||  γ ⌒ヽヽコ ノ  ||
         || ΣΣ  .|:::|∪〓  ||   ♪
        ./|\人 _.ノノ _||_. /|\
         ドチドチ!

0997nobodyさん03/07/24 19:21ID:???
次スレ建てる人は >>4-6 辺りの dead link も調べてくれ(w
0998nobodyさん03/07/24 19:27ID:???
>>980 あんがと。
すまんのぉ、青らくだ本持ってないから、その辺全然解らんのよ。
マニュアルサイト行ってもどこを読んでいいのやら、全然検討違いな所読んでた<俺
0999nobodyさん03/07/24 19:27ID:???
( ゚∀゚)つ〃∩2ゲット2ゲット2ゲット
100099903/07/24 19:27ID:???
999
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。