Perlについての質問箱 65箱目

1デフォルトの名無しさん
垢版 |
2021/03/27(土) 23:52:13.17ID:vQS/WYw3
CGIについての質問は板違いです。WEBプログラミング板でどうぞ。
CGIとPerlの区別がつかない人もWEBプログラミング板に行ってください。
(WEBプログラミング板: https://medaka.5ch.net/php/

このスレでは(CGI以外の)純粋にPerlのみに関係する質問を取り扱っていこうと思います。
スレ違いの質問にはスルーか、速やかな誘導をお願いします。
荒らしはスルー推奨。

"The duct tape of the Internet" こと、Perlについての質問箱です。
"There's more than one way to do it" ということで、
Perlの奥深さについて皆で語り合い、追求してまいりましょう。

www.perl.org/get.html
Download Latest Stable Source (5.32.1)

▼前スレ
Perlについての質問箱 62箱目
http://toro.5ch.net/test/read.cgi/tech/1385039352/
Perlについての質問箱 63箱目
https://mevius.5ch.net/test/read.cgi/tech/1392820583/
Perlについての質問箱 64箱目
https://mevius.5ch.net/test/read.cgi/tech/1548981877/
2023/06/07(水) 21:31:39.79ID:w5fTdC21
myはpackageとは何の関係もない
packageにmyのシンボルテーブルはない
だから(3)ではuninitialized value $P1::bbになる
(4)は単なる文字列
正常な振る舞いだよ
2023/06/07(水) 23:23:43.75ID:ywJ2sk66
>>100
回答ありがとう、myがそういうものだと今日まで知らずにいた…おrz
2023/06/08(木) 00:48:41.98ID:ZzDLFGD7
myのスコープはブロック、ファイル、evalの3つ
パッケージとは無関係だから>>99ではファイルスコープになるね
package P2でもう一度my $bb宣言したらエラーになることからも分かる
103デフォルトの名無しさん
垢版 |
2024/02/23(金) 07:50:24.93ID:3WpPBYhb
あげ
104デフォルトの名無しさん
垢版 |
2024/04/14(日) 21:35:03.76ID:byNUCOGR
ローカルサーバーでsrandとrandで生成した乱数の値と
レンタルサーバーでsrandとrandで生成した乱数の値が違うのは何で?
どちらもsrandの値は同じとする。
2024/04/15(月) 00:21:17.88ID:9X9lvy+w
このへんから探ってみては
https://github.com/search?q=repo%3APerl%2Fperl5+rand&type=code

煽りじゃないよ しんどいので俺はここまで
2024/04/15(月) 12:41:15.37ID:cLz3iDP/
プラットフォームのifdefで切り分けてそうだからそれっぽいマクロ定数でも探すといいかも
2024/04/15(月) 17:29:37.18ID:UgC/I+2W
ビルドされた環境のCライブラリ依存じゃない?
同じにしたいならMath::Random::MTとか使えばいいんでね
2024/04/16(火) 09:32:57.50ID:Fr3sHPgG
>>104
一般論としてPerlの内部実装は無保証でコロッコロ変わるので、疑似乱数の再現性を担保したいならコードを同梱してしまうのが最も確実

cでたったこれだけ、Perlで詰めれば20行も要らんだろう、局所使用ならファイル内subでいいレベル
github.com/bmurray7/mersenne-twister-examples/blob/master/c-mersenne-twister.c

同階層にpl版もある
丁寧にコードされパッケ化で無意味に冗長なので参考ならこっち
アルゴリズム特許あるか知らんし、ライセンスを許容するなら同梱
2024/04/16(火) 14:14:10.10ID:ipSHedtl
print"A\n",print"B\n";

これの動き教えてくれよ
出来ればサンプルソースも
2024/04/16(火) 15:16:06.51ID:UEoqQOMp
print "A\n", print "B\n";
print("A\n", print("B\n"));
まず最初のprintの引数中のprint("B\n")が評価され"B\n"が出力される
print("B\n")が成功したので真の値1を帰す
print("A\n", 1)となる

B
A
1と表示される

print "X\n", 3 > 0;
print "X\n", 3 < 0;
print "X\n", open(my $fh, "no_such_file.txt");
2024/04/16(火) 15:37:42.78ID:E/T1RXIg
成る程、() 使わない副作用意識しないとダメですね
ありがとうございます
2024/11/17(日) 20:01:50.35ID:w8x6IOGf
poetryと同等の仕組みがないときつい
2025/11/10(月) 07:57:26.71ID:FhsKmzpk
2025年最後の書き込みになるかもしれないから書いておこう
114デフォルトの名無しさん
垢版 |
2025/11/16(日) 00:05:37.18ID:TywOlYcs
いや、この書き込みが2025年最後だ

という書き込みが延々と続いたりして
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況