【Perl】初心者コーナーPart9
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
01/12/28 23:21ID:SPLRvqQi1:自分はこう言う事がしたい。
2:それでこんな風にやってみたが・・・
3:それだとこんなエラーが出て上手く行かなかった。
1と3が無いと誰も答えられないよ、良い回答は良い質問から。
一緒に勉強しましょう。
参考書籍はこちら【【Perl,CGI】参考書籍 第2版 】
http://pc.2ch.net/test/read.cgi/php/988809842/
CGIの質問はこちら【CGIだけど、なんか質問ある?part5】
http://pc.2ch.net/test/read.cgi/php/1009331505/
その他の雑多な話題は、【CGIに依存しないPerlの話題一般】
http://pc.2ch.net/test/read.cgi/php/991313362/
過去ログ、その他の役立ち情報は>>2-10を見よう。
0002名無しさん@お腹いっぱい。
01/12/28 23:32ID:SPLRvqQiPart1 http://tako.2ch.net/test/read.cgi?bbs=perl&key=957208980 参照不能
Part2 http://tako.2ch.net/test/read.cgi?bbs=perl&key=971817087 参照不能
Part3 http://tako.2ch.net/test/read.cgi?bbs=perl&key=979894521 参照不能
Part4 http://tako.2ch.net/test/read.cgi?bbs=perl&key=984430156 参照不能
Part5 http://pc.2ch.net/test/read.cgi/php/988728069/
Part6 http://pc.2ch.net/test/read.cgi/php/996075607/
Part7 http://pc.2ch.net/test/read.cgi/php/1000267444/
Part8 http://pc.2ch.net/test/read.cgi/php/1003900311/
[ひまぢん氏のミラー]
Part1 http://www.angelfire.com/ak5/2ch-web-program/kako/957208980.html
Part2 http://www.angelfire.com/ak5/2ch-web-program/kako/971817087.html
Part3 http://www.angelfire.com/ak5/2ch-web-program/kako/979894521.html
Part4 http://www.angelfire.com/ak5/2ch-web-program/kako/984430156.html
Part5 http://www.angelfire.com/ak5/2ch-web-program/kako/988728069.html
0003名無しさん@お腹いっぱい。
01/12/28 23:34ID:SPLRvqQi・Perl Com: http://www.perl.com/pub/
・CPAN.com: http://search.cpan.org/
・ActivePerl: http://www.activestate.com/
・CGI-ML:http://forest.ne.jp/cgi-ml/
[お薦め]
・Perl Recipes: http://www.effectiveperl.com/recipes/
・Perlメモ: http://www.din.or.jp/~ohzaki/perl.htm
・Randal's WebTechniques columns: http://www.stonehenge.com/merlyn/WebTechniques/
・Perlの部屋: http://www.cc.rim.or.jp/~midorin/mad-p/perl/index.html
・Perl初心者の部屋:http://www.harukaze.net/~mishima/perl/
・Perlリファレンス:http://www.big.or.jp/~mio/ga/pl/plref/pl_ref.htm
・Perlのページ:http://homepage1.nifty.com/nomenclator/perl/
[Document&Tutorial]
・Perl News: http://www.news.perl.org/
・Perl Monks: http://www.perlmonks.org/
・PerlMonth - Online Perl Magazine - : http://www.perlmonth.com/index.html
・use Perl All The Perl: http://use.perl.org/
・Learn Perl - Perl Education: http://www.devdaily.com/perl/edu/index.shtml
・Perldoc.com: http://www.perldoc.com/
・Using Perl5 in Web: http://docs.rinet.ru/Using_Perl5_in_Web/
・Rex Swain's Home Page: http://www.rexswain.com/
・Robert's Perl Tutorial: http://www.netcat.co.uk/rob/perl/win32perltut.html
・Perl Tuts: http://savage.net.au/Perl-tutorials.html
・Beginning Perl Tutorials: http://www.pageresource.com/cgirec/index2.htm
・jcode.pl の私的な解説書: http://www.mikeneko.ne.jp/~lab/kcode/jcode.html
・Perl for Newbie: http://www.harukaze.net/~mishima/perl/index.html
・Logical Choice Software, Home Page: http://www.logsoft.com/perltips/
・Perlfect Solutions: http://perlfect.com/
・The Perl Archive : http://www.perlarchive.com/
0004名無しさん@お腹いっぱい。
01/12/28 23:37ID:SPLRvqQi・Perl Module Reference: http://www.bekknet.ad.jp/~bero/docj/module/
・PPMPackages: http://www.activestate.com/PPMPackages/
・河馬屋二千年堂's Page: http://member.nifty.ne.jp/hippo2000/index.htm
[Security]
・安全なプログラミングのためのガイドライン:http://www.FreeBSD.org/ja/security/#spg
・Perl security:http://www.perldoc.com/perl5.6/pod/perlsec.html
・CGI and Security http://www.japu.org/cgi/security/
・Perl security和訳:http://www.kt.rim.or.jp/%7ekbk/perl5.005/perlsec.html
・The Unofficial Web Hack FAQ:http://www.nmrc.org/faqs/www/
・How to Write Secure Code:http://www.shmoo.com/securecode/
・Safe CGI Programming :http://www.improving.org/paulp/cgi-security/safe-cgi.txt
[OS]
・Linux日本語マニュアル:http://www.linux.or.jp/JM/
・FreeBSD日本語マニュアル:http://www.jp.freebsd.org/man-jp/
0005_gunzip
01/12/28 23:46ID:SPLRvqQiPerl6 & Parrot VM についての情報
http://dev.perl.org/perl6/
--------------------
Parrot Hello world!
--------------------
# hello.pasm
print "Parrot Hello world!\n"
end
0006名無しさん@お腹いっぱい。
01/12/29 00:20ID:5xfLHV23時のお勧めサイトって有る?
0007名無しさん@お腹いっぱい。
01/12/29 01:08ID:???TryAndCatch萌え ヽ(´ー`)ノ
FILE *handle1 = NULL, *handle2 = NULL, *handle3 = NULL;
try {
handle1 = fopen ( ... );
handle2 = fopen ( ... );
handle3 = fopen ( ... );
...
}
catch ( ... ) {
if ( handle1 ) close ( handle1 );
if ( handle2 ) close ( handle2 );
if ( handle3 ) close ( handle3 );
throw;
}
0008名無しさん@お腹いっぱい。
01/12/29 14:21ID:gaX+fcP8文字列検索よりは早そうだし。
0009名無しさん@お腹いっぱい。
01/12/29 22:51ID:???0010名無しさん@お腹いっぱい。
01/12/30 08:01ID:tHdvBy1wスレ立てお疲れ様です。
さっそく質問させていただきます。
Win98にActivePerlをインストールしましたが、
DOSプロンプトから起動できません。
「コマンドまたはファイル名が違います」と言われてしまいます。
sample.plをダブルクリックすると、一瞬だけですが起動するので
Perl自体のインストールは出来ていると思いますが……。
何がおかしいのか、考えられることを教えてください。
0011名無しさん@お腹いっぱい。
01/12/30 11:13ID:???DOSプロンプトから perl -v でVersion情報が出力されますか?
問題無く出力されるようなら、
perl C:\somewhere\sample.pl
で実行できるはずですが。(C:\somewhere\は適当に読み替えて下さい)
0012デフォルトの名無しさん
01/12/30 11:16ID:???セッションのテストってどんな風にしてます?
モンキーレンチとか使えるのかなぁ・・・・・
0013名無しさん@お腹いっぱい。
01/12/30 12:59ID:???PATHが通ってないだけじゃないの?
0014名無しさん@お腹いっぱい。
01/12/30 13:56ID:???能動的な型付けとか、最適化に関わる所が結構突っ込まれてるのかな
Class eq Package じゃ無くなるってのも中々よさげ
今よりずっとOOusefulになると良いな
でもオペレータ変更しすぎなんだよ先生よぅ・・・・
%hash{foo} ← これが参照外したスカラーなんて・・・ (死
0015名無しさん@お腹いっぱい。
01/12/30 13:59ID:???>>10
同じくPATHに一票
SETENVだかPATHだかでSET出来たかな(適当)
キーワード書くから調べて栗 w
「PATH」「環境変数」「DOS」「追加」「SET」
0016名無しさん
01/12/30 14:54ID:???間違えてんぞ〜
$hash->{foo} が $hash{foo} or $hash.{foo} だろ、んで
$hash{foo} が %hash{foo} だよん
つーか嫌すぎこれ
0017名無しさん@お腹いっぱい。
01/12/30 14:57ID:vG4UP0Ysforeach(0..2){$tmp[$_] = $tmp{aa$_};}
みたいな事をやりたいのですが、
foreach(0..2){$tmp = "aa$_"; $tmp[$_] = $tmp{$tmp};}
しかわかりません。
もっとスマートな方法があれば教えて下さい m(_ _)m
0018名無しさん
01/12/30 15:05ID:6JQJx1N90019名無しさん
01/12/30 15:18ID:???ん?
foreach(0..2){$tmp[$_] = $tmp{aa$_};}
↓
foreach(0..2){$tmp[$_] = $tmp{aa.$_};}
002017
01/12/30 15:42ID:vG4UP0Ysあっ、そうですね。恥。。
即レスどうもありがとうございます。
002110
01/12/30 17:17ID:???どうもお答えありがとうございます。
カレント\binでは、perl -vもちゃんと動いていましたが、
他の場所からでは起動できませんでした。
だからアドバイスどおり、PATHが通っているかをまず疑いました。
autoexec.batには、SETで始まる\binまでの行がちゃんとありました。
しかし実際にはうまくいっていないため、
試みにこの行を上の方にもってきて、再起動をすると、なぜかうまくいきました。
というわけで(一応無事に)解決したようです。
どうも助かりました。ありがとうございました。
0022名無しさん@お腹いっぱい。
01/12/30 23:56ID:uoyv0Wnn上の様に追記でファイルをオープンした場合
ファイル内容が空になる瞬間というのはあるのですか?
0023名無しさん@お腹いっぱい。
01/12/31 00:40ID:???ある。
* 他のプロセスが空にする。
* 自分で空にする。
0024ダメ男
01/12/31 03:34ID:zWJaANkc002522
01/12/31 03:42ID:lAX6iAu+平気だったです。
002622
01/12/31 04:42ID:lAX6iAu+$tmp = "o(";
@data=grep(!/$tmp/,@data);
↑これを実行するとエラーとなるんですが、
何故でしょうか?
0027ダメ男
01/12/31 05:07ID:SHzKQGPS↓
$tmp = "o\\(";
0028名無しさん@お腹いっぱい。
01/12/31 12:50ID:???002922
01/12/31 15:02ID:???さらにgrepした後入力を表示させたいのですが、
こういう場合$tmpに格納されている文字はただの文字として
検索するという方法は無いのでしょうか?
またo(以外にも「ソ」もエラーになるのは文字コードが
メタ文字とかぶっているからですか?
003022
01/12/31 15:27ID:???@data=grep{($tmp1,$tmp2)=split /\t/,$_;$tmp1 ne $tmp}@data;
で緊急避難しました。
29の方法あったら教えて下さい。
0031デフォルトの名無しさん
01/12/31 15:51ID:???無い。但し存在しないファイルならサイズはO
>30
キーワード出たら検索な
http://www.google.com/search?hl=ja&q=PERL+%83%81%83%5E%95%B6%8E%9A+%83G%83%89%81%5B&lr=lang_ja
0032名無しさん@お腹いっぱい。
01/12/31 15:59ID:???CGIかなにかだと思うけど、内部の処理でS-JISを使用するのはお勧めしない。
入出力と内部の処理は分けて、内部ではEUCなんかを使うのが吉。
あと参考までに、quotemeta() や \Q も調べておくとよいでしょう。
perldoc -f quotemeta
perldoc perlre
003322
01/12/31 21:02ID:???どうもすいませんです;;
と検索どうもです。
>>32
なるほどです。
quotemeta() 調べてみます。
ご親切にどうもありがとうございました。
0034おねがいします!
02/01/01 02:00ID:RjS1sLKo逆スラッシュが打てません。
\になっちゃうんです。
どうしたらよいのでしょうか?
0035名無しさん@お腹いっぱい。
02/01/01 02:43ID:???これをインストールしよう!
0037名無しさん@お腹いっぱい。
02/01/01 02:55ID:???おれにはちゃんと逆スラッシュに見えてるが?
003834
02/01/01 02:57ID:dE6tT7EDすみません。
Mac OS 9.04
MacJPerl 5.2.Or4 J1
です。
よろしく!
0039名無しさん@お腹いっぱい。
02/01/01 03:01ID:???perlfuncだとdbm〜〜の変わりにtie,untieを使えと書かれてますが
レンタルサーバでモジュールの依存関係(標準も入ってないdeath)何かが面倒な時
はdbm〜を使っても良いですか?
1000件程度なんでそれ程速度も気になりません
>>34
\のままで良いよ (^-^
全角はダメだよ
0040
02/01/01 06:07ID:RYgD0SJzという62文字を使って 1 (あるいは 0)から ZZZZZZZZ までの
62進数を順番に生成したいのですが、上手にやる方法はありますか?
0041デフォルトの名無しさん
02/01/01 16:51ID:???ハードコーディングで良いなら
push (@value,0) for (1..8);
これを初期値(つまり$value[0]が1桁目、$value[1]が2桁目)にして
値を1増やす関数と、@valueを分解しながら$char[$value[$_]]とかして
表示する関数を書いてみ。
それが出来たら桁とか@charを可変に出来る様にしてみよう。
0042名無しさん@お腹いっぱい。
02/01/01 22:46ID:mPGnAllsBenchmark: timing 10000 iterations of for,foreach...
for: 27 secs (27.18usr 0.00 sys = 27.18 cpu)
foeach: 11 secs (10.54usr 0.00 sys = 10.54 cpu)
この出力結果はどういう意味なんでしょうか。forとforeachというアイテム?を比べて、
forが27秒かかってforeachは11秒、これはforeachの方がお得だね、というのは判るんですが、
usrとsysの意味が判らないです。この二つからcpuの使用率を出してるようなんですけど…
0043名無しさん@お腹いっぱい。
02/01/02 02:17ID:???んでsysが他のプロセスが使った時間じゃネーノ
んでcpuがトータルのCPU時間って事じゃネーノ
適当に想像だけどね
つーかその結果の方が気になるわっ (w
004442
02/01/03 02:53ID:jaPZDeyiありがとうございました。
0045
02/01/03 23:06ID:sFx8M0Ljdbmかndbm入っているんだったら、dbmopen使ったって別にいいんじゃないかと思うけど。
将来のバージョンでの対応が保証がされないだけで(笑)
動けばいいやっていうんだったら、全然かまわないかと。
0046名無しさん@お腹いっぱい。
02/01/04 00:04ID:VeQd/ckC0047名無しさん@お腹いっぱい。
02/01/04 00:16ID:???0048名無しさん@お腹いっぱい。
02/01/04 12:28ID:SUGVa40qGDBMを使ってDB化(?)しているのですが、
tell & seek のサイズ限界にひっかかっているようです。
この場合は、ファイルを分割するしかないのでしょうか?
初心者です。よろしくお願いします。
0049名無しさん@お腹いっぱい。
02/01/04 14:01ID:???なかなか面白そうだ。
005048
02/01/04 14:14ID:SUGVa40q005148
02/01/04 14:15ID:???005248
02/01/04 14:30ID:SUGVa40q教えてちゃんですみません。ロジックのヒントをお願いします。
0053名無しさん@お腹いっぱい。
02/01/04 14:49ID:kY4aCT8XあるCGIで生成した結果を表示後それをHTMLファイルとして保存するにはどうしたらよろしいでしょうか?
0054名無しさん@お腹いっぱい。
02/01/04 14:51ID:???005553
02/01/04 14:51ID:kY4aCT8XHTMLとして保存するスクリプト、または関数をご存知の方お教えください
005653
02/01/04 14:53ID:kY4aCT8X追記です
HTMLとして保存できるスクリプトか関数をお教えください
0058初心者
02/01/04 14:58ID:???005953
02/01/04 15:04ID:kY4aCT8Xマジ、わからないんですが、おっしゃられているのは「ファイル(F)→名前を付けて保存(A)...」
で保存してってことですか?
0060名無しさん@お腹いっぱい。
02/01/04 15:09ID:???ダイジョウブ?
0061初心者
02/01/04 15:10ID:???http://www.google.com/search?num=100&hl=ja&q=perl+%83t%83@%83C%83%8B%83n%83%93%83h%83%8B+print&lr=lang_ja
あとは自分で調べる努力を。
006253
02/01/04 15:18ID:kY4aCT8Xありがとうございます
0063名無しさん@お腹いっぱい。
02/01/04 16:04ID:???どのように記述すればいいんでせう?
よろしくお願いします。
0064名無しさん@お腹いっぱい。
02/01/04 16:05ID:???0065名無しさん@お腹いっぱい。
02/01/04 16:14ID:???分割したファイルが一つのファイルのように見えるようにインターフェイスを整えるのだ。
だから本当に大きなファイルが扱えるわけではない。
それでいいならちょいと書いてみるが?
0066名無しさん@お腹いっぱい。
02/01/04 16:33ID:ZcIQHoBD006748
02/01/04 16:33ID:SUGVa40qありがとうございます。お願いいたします。 ;;
ファイルサイズはこの先大きくなる一方なのですが、分割していくしかないでしょうか?
もしくは、データベースに突っ込むか・・・・・・
「Cで書け!」と言われてしまいました。
齢20代後半で今からCは身に付くでしょうか? ソース見てもクラクラします ;;
006865
02/01/04 16:58ID:???あくまでも個人的に面白いと思うから作るだけなんで。
だからといって適当な物を書くわけじゃないですが。
ついでに言うと*DBM_Fileとの連携は出来ないかと。
0069名無しさん@お腹いっぱい。
02/01/04 17:16ID:???KENTのPetitBoardに新記事のマークを付けるにはどうしたらようのでしょうか???
167 名前:名無しさん@お腹いっぱい。 投稿日:02/01/04 16:51 ID:???
↑何でマルチすんだよ糞ガキ消えろ
168 名前:名無しさん@お腹いっぱい。 投稿日:02/01/04 16:56 ID:ZcIQHoBD
うるせぇ俺は20歳だ。そんだけ気になっとんだ。
169 名前:名無しさん@お腹いっぱい。 投稿日:02/01/04 16:57 ID:ZcIQHoBD
そんな事より即効で文句言うてめぇの方がガキだ。
0070名無しさん@お腹いっぱい。
02/01/04 17:37ID:AGeoy3Tcバイナリで書くよりはCの方が簡単です。
まぁマジレスすると身につかないことは無い。
構文自体はPerlに似てるし。ただ、Perlに比べて
もっと「プログラムらしい規約」が多々出てくるので
Perl以外にプログラムをやったことが無かったら
馴染めないかもね。
おれは逆にZ80からCやFortran、RINGOやAppleScript等を
経てからPerlに来て、なかなかPerlに馴染めなかったけど。
007148
02/01/04 18:02ID:SUGVa40qすみません。ヒント程度の気楽なもので十分です。
ありがとうございます。
やりたいのはレコードの検索なので、DBMと連携なりは、考えます。
>>70
ありがとうございます。道のりの割に、使う機会が少なそうで・・・・
でも追い込まれないと勉強しないし・・・・・
自分は、N88BASIC -> 永い永い月日 -> Perl, PHP, VBScript群
しょぼ。
007265
02/01/04 19:28ID:???・配列にファイルハンドル(以下FH)を入れておく
・そのFHを通じて何か書き込みをする度にサイズをチェック(stat()してもいいし長さを記録しておいても良い)
・サイズが一定値を超えたら新しいファイルを作成して配列に新しいFHを追加
・seek()やらtell()やらは合計ファイルサイズを考慮して計算
・これらのことを通常のIOインターフェイスを通じて行えるようにタイクラスに閉じ込める。
って感じで(超適当な説明だが)
DBMと連携するにはまた別のことを考えなきゃいけないね。
複数のDBMハッシュを保持したタイハッシュクラスを考えればいけるんじゃないだろうか。
0073
02/01/04 19:32ID:CJ4spD6O0074
02/01/04 19:36ID:CJ4spD6Oメインデータは、データのカテゴリごとに分割する。
データ自体に一意のID振っておけば、それでデータの抽出が出来る。
そもそも、そんな巨大なデータをwhileとかで回しても、効率よくないだろうし。
007548
02/01/06 14:51ID:4VaeiTUGうをー! ありがとうです! エンジンかかってきた! やるでー!!
>73 >74
ありがとー
DBに入れるのも考えましたが、ディスク資源も既に虫の息なので、ホント ツライです。
0076名無しさん@お腹いっぱい。
02/01/07 23:02ID:???シーラカンス本(約\3,500)説明ワカリヤスイヨ.
プログラミング一から勉強するよりよっぽど楽勝ですし。
0077名無しさん@お腹いっぱい。
02/01/08 16:04ID:2bmV9luVファイルに記録する時などでファイルを
open (FILE,"+<$file");
で開いて変更するのと
open (FILE,"$file");
書き換え作業
open (FILE,">$file");
という方法だと後者だと良くないのでしょうか?
0078名無しさん@お腹いっぱい。
02/01/08 16:06ID:???0079名無しさん@お腹いっぱい。
02/01/08 16:11ID:???どういう考えでそういう結論に至ったのか問い詰めたい
0080名無しさん@お腹いっぱい。
02/01/08 16:20ID:2bmV9luVいろいろスクリプト見てると前者の方が多いと感じまして
後者の方はいかんのかな?と思ったです。
特に問題は無いと考えて良いみたいですね。
他に美しくない、負荷がかかる、なんかの問題も
無いのでしたら、何故前者の方がよく使われてるのでしょうか?
0081名無しさん@お腹いっぱい。
02/01/08 16:35ID:???処理中に落ちてデータが壊れる確率も大差ない気がする。
消えにくいようにするならこれかな?
open IN, "<$file" or die;
# ...
close IN;
open OUT ">$file.tmp" or die;
# ...
close OUT;
rename "$file.tmp" => "$file" or die;
0082名無しさん@お腹いっぱい。
02/01/08 16:36ID:XZoY9u5U後者の方が壊れる確率高いよ。
0083名無しさん@お腹いっぱい。
02/01/08 17:03ID:2bmV9luV減る可能性がある場合はtruncateは必須なんでしょうか?
0084名無しさん@お腹いっぱい。
02/01/08 17:09ID:???まず自分で試して見れ。
0085名無しさん@お腹いっぱい。
02/01/08 17:11ID:???ファイルサイズを揃えておきたい時なんかはそのまま書き出して
閉じたりするよ
必須と聞かれればNOになる
0086名無しさん@お腹いっぱい。
02/01/08 17:28ID:???ごめんです
試したら思いっきり変になりました。
これってOSによって実装されてない場合あるんですよね?
あんま使いたくなかったなぁ。
レスどうもでした。
0087名無しさん@お腹いっぱい。
02/01/08 17:45ID:2bmV9luV皆さんはチャットやらカウンターなんか作らない
かもしれないですが、
カウンターの場合は読み書き両用で1度だけopenするのに対して
チャットなんかだと読み込みのみでopenして
書きこみはまた後で書き込みのみでopenしてるのですが
この違いは何なのでしょうか?
0088名無しさん@お腹いっぱい。
02/01/08 17:48ID:???0089デフォルトの名無しさん
02/01/08 18:06ID:???ただCGI(だよな??)は排他とかトランザクション取らなきゃならないので
色んな手法でデータの同一性を保証出来るようなコードを書く必要は有る
チャット位ならどうって事ないような気がするが
0090どなたか
02/01/09 12:29ID:6I7ENOMK例えば1から100の範囲で4つ乱数を生成して、それを一つの配列に入れたいんですが。
$max = 乱数の最大値
$num = 個数
@kekka = 得られた乱数を[0..($num-1)]で格納する配列
という風にしたいんですが、どうしてもうまくいきません。
単純に指定個数の乱数を作って配列に入れるならできるんですが、
重複を許さないためにifやwhileで今までの結果を参照させようと
するとうまいコードが思い浮かびません。
もしかしたら簡単な解決方法があるのかと思いここに書き込ませてもらいました。
0091デフォルトの名無しさん
02/01/09 13:06ID:???until ($n == $max) {
$r = rand(100);
push(@ary,$r) and $n++ if(!grep /$r/,@ary);
}
0092デフォルトの名無しさん
02/01/09 13:08ID:???until (my $n == $num) {
my $r = rand($max);
push(@kekka,$r) and $n++ if(!grep /$r/,@kekka);
}
0093名無しさん@お腹いっぱい。
02/01/09 13:19ID:???my @kekka;
my $max = 100;
my $num = 4;
die('$max の値が $num より多いとダメだから注意な。') if $num > $max;
my %temp;
my $rnd;
my $n = $num;
!$temp{($rnd = int(rand $max) + 1)}++ and push(@kekka, $rnd) and --$n while $n;
009493
02/01/09 13:20ID:???009590
02/01/09 13:23ID:6I7ENOMKでも実行してみたらループしてる・・・うーん、どっか変数間違えたかな。
こんな感じでやってみたんですが
#ここから
$max="10";
$num="4";
until (my $n == $num) {
my $r = int(rand($max));
push(@kekka,$r) and $n++ if(!grep /$r/,@kekka);
};
print "@kekka";
#ここまで
これってgrepの結果が真だった場合は同じ$nでまたループしてるんですよね。
ということは、grepが真を返してない(?_?)
0096名無しさん@お腹いっぱい。
02/01/09 13:25ID:lzfPILoX009790
02/01/09 13:26ID:???助かった〜〜〜
91さんも93さんも有り難うございます。
解読して考え方を参考にしますね。
009890
02/01/09 13:27ID:6I7ENOMKperl5だといらないそうです
0099名無しさん@お腹いっぱい。
02/01/09 13:28ID:???らしき話をどこぞで見たような。
010090
02/01/09 13:31ID:???呼び出しているそうです。その場合はtimeとprocess IDを元にsrandしている
ことになるそうです。受け売り。
0101名無しさん@お腹いっぱい。
02/01/09 13:54ID:lzfPILoXなるほど〜、ありがとうございます。
5.003以前だとsrandしないといけないって事ですね。
バージョン依存は難しいです、いろいろ。。。
■ このスレッドは過去ログ倉庫に格納されています