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/
探検
Perlについての質問箱 65箱目
1デフォルトの名無しさん
2021/03/27(土) 23:52:13.17ID:vQS/WYw32022/08/28(日) 05:40:04.80ID:vrDCS1ZD
>>94
PATH の通ったディレクトリに Windows 用の xz.exe を置いておくと tar の J オプションで展開してくれるようだが圧縮は対応していない模様。
圧縮は自分でパイプ通してやらないとできないみたい。何故そうなっているかは不明。
PATH の通ったディレクトリに Windows 用の xz.exe を置いておくと tar の J オプションで展開してくれるようだが圧縮は対応していない模様。
圧縮は自分でパイプ通してやらないとできないみたい。何故そうなっているかは不明。
2022/08/28(日) 05:40:40.65ID:vrDCS1ZD
あ、gz か。ごめん。xz と間違えた。
2022/08/28(日) 05:42:29.29ID:vrDCS1ZD
あれ?でも gz (gzip) 圧縮なら tar cvfz でできたな。
98デフォルトの名無しさん
2022/12/23(金) 15:18:23.84ID:yhR2datD perlに付属されているh2xsというツールを使ってモジュールを作成したいんですが、ディレクトリに移動に移動してコードを書く方法が分かりませんアドバイスお願いします。
※Perl
https://linuxcommand.net/perl-mod/#i-3
※Perl
https://linuxcommand.net/perl-mod/#i-3
99デフォルトの名無しさん
2023/06/07(水) 16:24:29.96ID:ywJ2sk66 Perlのpackage内my変数についてちょっと疑問。
myはレキシカルな局所変数なので、他package内のmy変数は他のpackageからは参照できず、参照したければmy出なくourにすると解釈していたが。
packageが別々のソースファイルだった場合はその通りですっきりしたスコープ仕様だと思っていたが…
ところが二つのpackageが同じソースファイル内にあり、他のpackageのmy変数を参照すると変な感じ:
例
use strict;
use warnings;
package P1;
our $aa = __PACKAGE__.'aa';
my $bb = __PACKAGE__.'bb';
package P2;
print __PACKAGE__ . "(1)$P1::aa\n";
print __PACKAGE__ . "(2)$aa\n";
print __PACKAGE__ . "(3)$P1::bb\n";
print __PACKAGE__ . "(4)$bb\n";
実行結果
$ perl package_a_b.pl
Name "P1::bb" used only once: possible typo at package_a_b.pl line 14.
P2(1)P1aa
P2(2)P1aa
Use of uninitialized value $P1::bb in concatenation (.) or string at package_a_b.pl line 14.
P2(3)
P2(4)P1bb
P2からはP1のmy $bbが$bbで参照できて、$P1::bb だとエラー、なんだこりゃ…???
ちな 5.36.0 と 530.0 で確認した。
myはレキシカルな局所変数なので、他package内のmy変数は他のpackageからは参照できず、参照したければmy出なくourにすると解釈していたが。
packageが別々のソースファイルだった場合はその通りですっきりしたスコープ仕様だと思っていたが…
ところが二つのpackageが同じソースファイル内にあり、他のpackageのmy変数を参照すると変な感じ:
例
use strict;
use warnings;
package P1;
our $aa = __PACKAGE__.'aa';
my $bb = __PACKAGE__.'bb';
package P2;
print __PACKAGE__ . "(1)$P1::aa\n";
print __PACKAGE__ . "(2)$aa\n";
print __PACKAGE__ . "(3)$P1::bb\n";
print __PACKAGE__ . "(4)$bb\n";
実行結果
$ perl package_a_b.pl
Name "P1::bb" used only once: possible typo at package_a_b.pl line 14.
P2(1)P1aa
P2(2)P1aa
Use of uninitialized value $P1::bb in concatenation (.) or string at package_a_b.pl line 14.
P2(3)
P2(4)P1bb
P2からはP1のmy $bbが$bbで参照できて、$P1::bb だとエラー、なんだこりゃ…???
ちな 5.36.0 と 530.0 で確認した。
100デフォルトの名無しさん
2023/06/07(水) 21:31:39.79ID:w5fTdC21 myはpackageとは何の関係もない
packageにmyのシンボルテーブルはない
だから(3)ではuninitialized value $P1::bbになる
(4)は単なる文字列
正常な振る舞いだよ
packageにmyのシンボルテーブルはない
だから(3)ではuninitialized value $P1::bbになる
(4)は単なる文字列
正常な振る舞いだよ
101デフォルトの名無しさん
2023/06/07(水) 23:23:43.75ID:ywJ2sk66 >>100
回答ありがとう、myがそういうものだと今日まで知らずにいた…おrz
回答ありがとう、myがそういうものだと今日まで知らずにいた…おrz
102デフォルトの名無しさん
2023/06/08(木) 00:48:41.98ID:ZzDLFGD7103デフォルトの名無しさん
2024/02/23(金) 07:50:24.93ID:3WpPBYhb あげ
104デフォルトの名無しさん
2024/04/14(日) 21:35:03.76ID:byNUCOGR ローカルサーバーでsrandとrandで生成した乱数の値と
レンタルサーバーでsrandとrandで生成した乱数の値が違うのは何で?
どちらもsrandの値は同じとする。
レンタルサーバーでsrandとrandで生成した乱数の値が違うのは何で?
どちらもsrandの値は同じとする。
105デフォルトの名無しさん
2024/04/15(月) 00:21:17.88ID:9X9lvy+w106デフォルトの名無しさん
2024/04/15(月) 12:41:15.37ID:cLz3iDP/ プラットフォームのifdefで切り分けてそうだからそれっぽいマクロ定数でも探すといいかも
107デフォルトの名無しさん
2024/04/15(月) 17:29:37.18ID:UgC/I+2W ビルドされた環境のCライブラリ依存じゃない?
同じにしたいならMath::Random::MTとか使えばいいんでね
同じにしたいならMath::Random::MTとか使えばいいんでね
108デフォルトの名無しさん
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版もある
丁寧にコードされパッケ化で無意味に冗長なので参考ならこっち
アルゴリズム特許あるか知らんし、ライセンスを許容するなら同梱
一般論としてPerlの内部実装は無保証でコロッコロ変わるので、疑似乱数の再現性を担保したいならコードを同梱してしまうのが最も確実
cでたったこれだけ、Perlで詰めれば20行も要らんだろう、局所使用ならファイル内subでいいレベル
github.com/bmurray7/mersenne-twister-examples/blob/master/c-mersenne-twister.c
同階層にpl版もある
丁寧にコードされパッケ化で無意味に冗長なので参考ならこっち
アルゴリズム特許あるか知らんし、ライセンスを許容するなら同梱
109デフォルトの名無しさん
2024/04/16(火) 14:14:10.10ID:ipSHedtl print"A\n",print"B\n";
これの動き教えてくれよ
出来ればサンプルソースも
これの動き教えてくれよ
出来ればサンプルソースも
110デフォルトの名無しさん
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");
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");
111デフォルトの名無しさん
2024/04/16(火) 15:37:42.78ID:E/T1RXIg 成る程、() 使わない副作用意識しないとダメですね
ありがとうございます
ありがとうございます
112デフォルトの名無しさん
2024/11/17(日) 20:01:50.35ID:w8x6IOGf poetryと同等の仕組みがないときつい
113デフォルトの名無しさん
2025/11/10(月) 07:57:26.71ID:FhsKmzpk 2025年最後の書き込みになるかもしれないから書いておこう
114デフォルトの名無しさん
2025/11/16(日) 00:05:37.18ID:TywOlYcs いや、この書き込みが2025年最後だ
という書き込みが延々と続いたりして
という書き込みが延々と続いたりして
115デフォルトの名無しさん
2025/11/24(月) 22:48:34.34ID:OECHwG0H とは続かないのがかなしい
レスを投稿する
ニュース
- 高市首相、トランプ米大統領に「早期に会いたい」 日中関係悪化受け… ★2 [BFU★]
- 【コメ】卸売業者「簡単に安売りできない」「大暴落起きれば大赤字に」 JA「新米の販売進度が近年になく遅い。コメの回転が悪い」 ★4 [Hitzeschleier★]
- 高市早苗首相が天理教系企業に“巨額発注” 総額5000万円 本人は「政治団体の活動に必要な支出」と回答 [Hitzeschleier★]
- ホリエモン、「持ち家=幸せという価値観は過去のもの」と断言「快適な住まいが欲しいなら、賃貸住宅を次々に替えていく」 [muffin★]
- 高市早苗総理「金利上昇よりも日本の成長が大事」 ★3 [Hitzeschleier★]
- かつや、明日からカツ丼(竹)790円→590円、ロースカツ定食830円→630円、カツカレー(竹)990円→790円 画像あり [お断り★]
- 【実況】博衣こよりのえちえちスーパーダンガンロンパ2🧪
- 自民党のヒゲ「日本側の無線でcopyとは言ったが了解という意味ではない」 [834922174]
- 【新番組】轟はじめ🐧⚡のぶんぶんぶーん🚗💨!【🏡】
- Chatgptのサムアルトマン、買い占めたメモリを使わず焼却処分「GoogleやClaudeが値上げで買えないようにする」 [347751896]
- ケンモメンってなんでこんなに反日が多いの? [866936191]
- 高市早苗、トランプおやびんに泣きつくwwwwwwwwwwwwwwwwwwwwwwww [834922174]
