Perlについて (843レス)
1-

1
(1): 2008/08/04(月)20:58 AAS
質問スレはあるけど、Perl自身について語るスレがないので、立てました。
763
(1): 2019/06/08(土)05:39 ID:CQrzC4Mf(1) AAS
数学用途で久々にperl5で書いた
スコープ制限 や use strict など一切なしのぶっきらぼうな書き方

......完成したコードは変数名などがわかりやすく、例外処理も丁寧な仕上がりだった
保守性重視の書き方しみついたのはなかなか変わらないんだな
764: 763 2019/06/13(木)14:47 ID:/0Hvd4dT(1) AAS
キャッシュ層の有無も含めて速度もベンチマーク撮りながら
途中でデバッグ用の追跡コードも挟んだりし
use strict や warnings 等もつけたり
スコープや変数名など仕上げた

書き始めは荒っぽく自由に様々なアプローチを試し
デバッグ情報も臨んだ情報が自由に手に入り
望めば保守性の為に厳格に書ける
省2
765: 2019/06/15(土)00:55 ID:dlWE+pCO(1) AAS
ActivePerlを見限ってついにStrawberryPerlにしたぜ!
26.3がやっと半年ぶりに更新された
30が出てるのに28.1になるとかわけわからん
せめて28.2にしろよ
766: 2019/10/14(月)22:16 ID:ShGJQFvk(1) AAS
StrawberryPerlはコンパイル環境が丸ごとバンドルされているのでおススメだよ。
767: 2019/11/18(月)21:00 ID:vV3s+CrD(1) AAS
Android上でPerlとか動かす実行環境あったのな。ついさっき知った。

外部リンク:docs.solab.jp
768: 2020/01/01(水)14:14 ID:fUaq4dOi(1/3) AAS
以前ローカルタイムとGMTの秒数のずれを出すためにこんな風に書いた。

use Time::Local;

my $t = timegm(localtime(0));

これは昨日までは正常に動いた。ローカルタイムが日本時間(JST)なら9時間を秒に直した 32400 が返されていた。

しかし今日(2020年1月1日)になったらいきなり巨大な数を返すようになった。
ローカルタイムが JST なら 3155792400 になる。そしてこれは32bitのOSではエラーになった。
(整数のビット数が多くなるように Perl がコンパイルされていれば大丈夫なのかも知れないが)。
省11
769
(1): 2020/01/01(水)15:33 ID:e1g3DWya(1) AAS
外部リンク[html]:perldoc.perl.org
timegmの年に0〜99を指定した場合は現在の年を基準に前後50年の範囲に収まるように解釈する特別扱いで
localtime(0)で帰ってくる70は
2019年は2019+50=2069の範囲外なので1970だったけど
2020年は2020+50=2070なのでそのまま2070になる
ある意味2020年問題やね
770: 2020/01/01(水)16:16 ID:fUaq4dOi(2/3) AAS
>>769
わかった。ソース見てわかった。50年な。今年の年に50足して100で割った余りを区切りにするから70が区切りで、70未満は今年の世紀の2000足しちゃうのな。
どうりで71年からはちゃんと計算できると思ったら。
771: 2020/01/01(水)16:17 ID:fUaq4dOi(3/3) AAS
未満じゃない。以下か。
772
(1): 2020/01/01(水)16:21 ID:Vy5hpr3F(1/2) AAS
ドキュメントを読めよ。

ちなみに確認しないけど、西暦2桁表記は、1970年を基準に±50年の範囲と見なすってのはなんかであった気がする。
773: 2020/01/01(水)16:22 ID:Vy5hpr3F(2/2) AAS
出遅れた。orz
774: 2020/01/01(水)20:55 ID:MALUlSLD(1) AAS
年の2桁表示とか、紛らわしい表記は使ってはいけない!

2020/01/01, 2020-01-01 など、フル桁の4/2/2でないといけない
775: 2020/01/01(水)22:28 ID:nMZ5JBqA(1) AAS
そういうことじゃないと思うよ。
知ったかぶりしたいわけじゃないから、これだけ紹介しとくよ。
外部リンク[html]:qa.itmedia.co.jp
776: 2020/01/02(木)01:20 ID:EKdEyvit(1) AAS
突然にタイムゾーンの話?
777: 2020/01/05(日)19:51 ID:YU7sLweA(1) AAS
>>772
その区切りが移動するんだな。
778: 2020/01/05(日)22:57 ID:UM8RYdV+(1) AAS
それにしても年2桁をある年を境に分けるしてって、
俺が中学生の頃に作った家計簿ソフトみたいだなw
もう30年ぐらい前になるのか?
779: 2020/01/06(月)14:52 ID:DmV1IuhC(1) AAS
DuckDuckGoがPerlで書かれてるって最近知った
780: 2020/01/07(火)22:37 ID:+L6qE003(1) AAS
perlは文法の泥沼具合で唯一c++とためはれる言語。もちろん褒めてない。
781: 2020/01/08(水)12:14 ID:1aWtkc80(1) AAS
log(1000)/log(10) は3だが、int()に通すと2になる。

Windowsサンプル
perl -e "$tmp = (log(1000)/log(10)); printf('result=%s,%s', $tmp, int($tmp));"

Unixサンプル
perl -e "\$tmp = (log(1000)/log(10)); printf('result=%s,%s', \$tmp, int(\$tmp));"
782: 2020/01/08(水)19:45 ID:naqRCa+g(1) AAS
あー。%s か。
783: 2020/01/09(木)10:06 ID:Gxf4nQ6S(1) AAS
フォーマットを %.16f にしたら 2.999... のように出たよ。
まあでも環境によって違うかも知れないけどね。
784: 2020/01/09(木)13:01 ID:CwRR9iY2(1) AAS
ある整数$nを10進表示するために必要な桁数を求めるためにlog($n)/log(10)を使ったのが良くなかった。
小難しいこと考えずにperlらしく素直に文字列としてlength($n)で桁数を取得するのが正解。
785: 2020/01/09(木)20:26 ID:C+kuIm3o(1) AAS
Perlじゃなくても、浮動小数点数なら残当。
結局、10で何回割れるか数えるのが一番合理的なんかねえ。
786
(2): 2020/01/10(金)04:53 ID:EqsvE6i0(1/2) AAS
問題の本質は、整数と実数の型区別がない言語において、3なのか2.99…なのか簡単に識別する手段がないこと。
787: 2020/01/10(金)05:45 ID:EqsvE6i0(2/2) AAS
PerlはCPU依存の浮動小数ではなく、独自の浮動小数を実装している。
計算速度がCやJava劣るのは、単にPerlがスクリプト言語だからというだけではない。
独自な浮動小数には良い面も悪い面もあるが、浮動小数の精度を変更できるのは大きな強み。
以下は、浮動小数の精度を10進換算100桁にするための宣言。

use bignum (a => 100);
788: 2020/01/11(土)16:09 ID:j7/IvFvR(1) AAS
>>786
ないな。一応 0.5 足してから int() で整数化すれば四捨五入になるけどね。自分でそう書かないとダメだったと思う。誰かがモジュール作って関数化してそうだけど。
789: 2020/01/11(土)20:26 ID:usOdB8FH(1) AAS
>>786
んなもん、そもそもあるわけがない。
浮動小数点数表現はおろか、有理数表現でも完全に表せない値は当たり前なんだから。
790: 2020/01/15(水)02:51 ID:pd5/9Sat(1) AAS
「Git 2.25」リリース、「git sparse-checkout」コマンドの追加や細かい機能強化が行われる
外部リンク:mag.osdn.jp
内部的な変更としては、「git add「コマンドの「-i」オプションをPerlベースからCに書き換える作業をスタートさせた。
791: 2020/02/06(木)17:50 ID:UYgbv9bH(1) AAS
PHPでPerlは使えますか?
792: 2020/02/10(月)18:58 ID:TxaBglIi(1) AAS
それはWebのページに埋め込むような感じで使えるかという意味?
793: 2020/02/11(火)17:48 ID:ix+UlUL8(1) AAS
PHPのプログラム中からPerlを呼び出すのであれば「php perl 呼び出し」等のキーワードでググれば沢山出てくる。
794: 2020/06/06(土)11:22 ID:5FXxLs+t(1) AAS
2015年にリリースされたmacOS X 10.11 以降、SIP(System Integrity Protection)によってディレクトリ/Systemがガードされるようになった。
これにより2013年にリリースされたperl 5.13が/System配下にありガードされてアンインストールできなくなっている。
2019年にリリースされた最新のmacOS 10.15 Catalina もいまだにperl5.18のままという有様。
795: 2021/10/01(金)19:08 ID:VGp4ti15(1) AAS
新しい Windows PCに Active Perlインストールしたら perl.batになってて使いづらいので
Strawberry Perlに変更した
796
(1): 2021/10/01(金)20:42 ID:8GSBOhv8(1) AAS
MSYS2をいれたほうがええんちゃう?
797
(1): 2021/10/02(土)10:57 ID:77ApQga0(1/3) AAS
>>796
Git for Windowsに付属のbash(MINGW)で十分だと思う
798: 2021/10/02(土)14:25 ID:yFRwYWli(1) AAS
Git for Windowsに付属のbashってminttyだっけ
便利過ぎて死ぬわ
799: 2021/10/02(土)15:08 ID:HPoADLry(1/2) AAS
>>797
ホントにずっとそのままでええんならな。
MSYS2にしとけば、あとからpacmanでいろいろ足せる。
800: 2021/10/02(土)15:15 ID:lWVjrMOX(1) AAS
WSLでUbuntuもよろしく
801: 2021/10/02(土)16:46 ID:77ApQga0(2/3) AAS
WSLのPerlだとWin32API呼び出しできないからニーズを満たせないと思ふ
802
(1): 2021/10/02(土)16:55 ID:77ApQga0(3/3) AAS
ちなみにGit for Windows (2.33.0.windows.2) にもPerlが入ってる
Strawberry Perlは5.32までしかないのにGit for Windows版Perlは5.34
嘘だと思うなら調べてみるといい
マジだから
803: 2021/10/02(土)17:36 ID:HPoADLry(2/2) AAS
バージョンが気になるならMSYS2やろ!
804: 2021/10/19(火)22:17 ID:3qjTXPl0(1) AAS
なぜStrawberry Perlは5.34がリリースされないの?
805: 2022/06/30(木)22:37 ID:paUH0cS8(1) AAS
Perl 5.36 が公開されたというのに、どのPerl関連スレも閑古鳥が鳴いていてさびしいねえ
806
(1): 2022/07/02(土)13:20 ID:OYFQm13f(1) AAS
Windowsでコマンドライン生活をしてると
utf-8かsjis(cp932)で改行がCRLFのテキストを扱うのがほとんど
結局コマンドプロンプトでPerlを使うのが一番使い勝手がいい…と思ってる
807: 2022/07/03(日)05:14 ID:S0pZ0Csa(1) AAS
>>806
わかる気がする
文字コード不明なゴミ文字列を食わされたらすぐ例外を吐く繊細なPythonは日本語版Windows向きじゃないんだよな
808: 2022/07/03(日)14:29 ID:PqlrjItE(1) AAS
馬鹿には無理
809: 2022/07/04(月)03:27 ID:E+MehTl/(1) AAS
Perlの比較対象はsedとかawk
多段パイプでsedとawkをつなげまくってるのをPerlですっきり
810: 2022/07/04(月)08:30 ID:CMsCi2w4(1) AAS
PowerShellと被りまくりよな
811: 2022/07/05(火)17:14 ID:tNMhVh98(1/2) AAS
PowerShellはバイナリがパイプに流せないからな
バイナリを流さなくても文字コードをいろいろ使う人には不便極まりない
812: 2022/07/05(火)20:17 ID:uTfoaiyz(1) AAS
PowerShellのパイプは、テキストでもバイナリでもなく、オブジェクトだが?
813: 2022/07/05(火)21:04 ID:tNMhVh98(2/2) AAS
それしかないから困るという話だが?
814: 2022/07/06(水)04:19 ID:ln/Yt+4k(1/2) AAS
PowerShellの文法にPerlの影響を感じる
815: 2022/07/06(水)19:53 ID:ogfTX8ru(1) AAS
ピンとこないんで例示たのむ
816: 2022/07/06(水)21:22 ID:765tXlNx(1) AAS
影響つうか、もう完全に似せにいっとるやろ。w
817: 2022/07/06(水)21:39 ID:ln/Yt+4k(2/2) AAS
Perlでのワンライナーコマンドの成功体験を忘れられなかった人が、潤沢な資源を使ってPerlっぽいシェル作ったら明るいディストピアになってしまった感じ
それがPowerShell
818: 2022/07/07(木)20:54 ID:cvqD9lK8(1) AAS
文法の類似性は全く感じられない…いやまじで

それはともかくWindowsでPowerShellをシェルとして使ってるとPerlと相性悪すぎる
コマンドプロンプトなら問題ないのにね
819: 2022/07/07(木)21:37 ID:PsBgcgR1(1) AAS
Perlだけじゃないよ
PowerShellはSTDIN, STDOUTを使うあらゆる伝統的アプリと相性が悪い
820
(1): 2022/07/08(金)07:50 ID:EP1tRVB4(1) AAS
たとえば
perl -E '$a = 1; say "\$a = $a"'   …… (1)
結果はもちろん
$a = 1
コマンドプロンプトだと引用符に ' が使えないから
perl -E "$a = 1; say qq/\$a = $a/"
とかするわけだけど、PowerShellなら ' も使えるから(1)でいけると思うわな
省3
821: 2023/11/07(火)18:45 ID:bMdWZdKr(1) AAS
外部リンク:github.com
V5.38が出ていますよ
822: 2023/11/20(月)03:36 ID:BbmiohCI(1) AAS
バイナリの種類が減ったけどどうしたんだろう_?
ZIP版がなくなったのはちょっと寂しい
いろいろビルドするの大変だったのかな…
いずれにせよWidows用処理系のバイナリが提供されるのはありがたい
823: 2023/11/21(火)15:33 ID:qJoihvDX(1) AAS
>>820
Windows PowerShell 5.1 ではこの通りだったけど
最新の PowerShell 7.4 ではちゃんと
$a = 1
になるように改善されてる
824: 2023/11/27(月)18:46 ID:17nvp8y6(1) AAS
$ perl -e '$a="abc"; $a =~ s/(.*)/[$1]/g; print $a . "\n"'
[abc][]

なんで後ろに[]がついちゃうの?
後ろに[]をつけないにはどうすればいいの?
825
(1): 2023/11/28(火)01:13 ID:cm6gsnuQ(1) AAS
Powershell で、Ruby の1-liner を実行してみた。
%Q() は、"〜" と囲む文字列と同じ

ruby -e 're=/(.*)/; puts %Q(abc).sub(re){ %Q([#$1]) }'
[abc]

ruby -e 're=/(.*)/; puts %Q(abc).gsub(re){ %Q([#$1]) }'
[abc][]

sub は置換を1回だけ、
省2
826: 825 2023/11/28(火)01:36 ID:Nm9lZ/Iv(1) AAS
Ruby でやったら、sub/gsub のどちらも空文字列にもマッチする!
%Q() が、"" と同じで空文字列

re=/(.*)/;
puts %Q().sub(re){ %Q([#$1]) }
[]

re=/(.*)/;
puts %Q().gsub(re){ %Q([#$1]) }
省4
827: 2023/11/28(火)07:55 ID:n24A5w3b(1) AAS
gが複数回オプション
828: 2023/11/28(火)11:38 ID:86akrCdn(1) AAS
s/(.*)/[$1]/

または

s/(.+)/[$1]/g
829: 2023/11/28(火)12:30 ID:vIU65Zk5(1) AAS
複数回マッチはそれはそうなんだけど、
.*で全部にマッチするのだから一回しかマッチしないはずでしょう?
830: 2023/11/29(水)00:11 ID:Yve6WB+Q(1) AAS
この話題は以後、以下のスレに移動しました!

Regular Expression(正規表現) Part16
2chスレ:tech
831
(1): 2024/02/09(金)17:07 ID:LEmbefGZ(1) AAS
V5.38.2
32ビット
外部リンク:github.com
64ビット
外部リンク:github.com
832: 2024/02/13(火)13:45 ID:INZlTde8(1) AAS
>>831
外部リンク[html]:strawberryperl.com
には最近のバイナリはないね。

ビルドに使われた external tools and libraries について見ると
Perl 5.36.1.1 (2023-07-20)のリリースで MingW gcc-13.1.0 まで上がり
Jul 11, 2023 の dev_5.38.0_20230705_gcc13 までは(同じ?) gcc-13.1 (winlibs release 5)
が使われていたけどこれはビルドに問題があったようで、
省10
833: 2024/06/10(月)18:27 ID:jBvUR+aY(1) AAS
V5.39.10.1(64ビット)
外部リンク[10]:github.com
834: 2024/06/25(火)23:38 ID:nRVgOfun(1) AAS
>>802
gitにperlが入ってるんじゃなくて
gitがperlで出来てる
835
(1): 2024/08/18(日)17:26 ID:tGsR2CJf(1) AAS
V5.40.0.1
外部リンク:github.com
836: 2024/08/18(日)21:28 ID:bxmlsBiI(1) AAS
ピールと呼ぶ会
837: 2024/08/23(金)01:55 ID:+JWOVuZK(1) AAS
>>835

インストール前に念のためチェックしたら
外部リンク:www.virustotal.com

誤認識か否か分からないのでインストールを躊躇してる

gccが13.2に上がってるんだよね、niXman のかな…
838: 2024/09/29(日)16:04 ID:ivcstAMo(1) AAS
Moose (ヘラジカ)の剥製が巨大で力強かった
そこで思い出したのが Moose - Object Oriented Perl
OOPやりたいなら他の言語でやればいいや、面倒なperlとバイバイしてたけど
今になってMooseの剥製を見て触りたくなった

perlのMoose触りたくないのに、それでコード書きたい不思議な体験だ
839: 03/08(土)22:22 ID:0XiXRrvv(1) AAS
Pre-release V5.34.3.1
外部リンク[1]:github.com
840
(1): 05/31(土)00:02 ID:cJ5DGMSY(1) AAS
V5.40.2.1
外部リンク:github.com
841: 06/08(日)13:20 ID:UqM8iw5/(1) AAS
>>840
ActiveCodePageをUTF-8にしたのも同梱して欲しい
毎回埋め込みマニフェストをいじるのめんどくさい
842: 06/18(水)01:54 ID:FtkrC9SP(1) AAS
超古いperlのCGIを新規で建てたLinuxマシンに移植する仕事が来た
簡単だろうと思って受けたらかなりハマった
Linuxにxampp入れてCGIプログラムとperlのライブラリを移動したが
Internal errorで動かない
散々調べたらjcode.plが新しいperlのバージョンではうまく動かないそうな
jcode.plをjacode.plに置き換えればうまくいくらしいので試してみたが、一つは動いてもう一つは動かない
入力したデータが文字化けしとる
省8
843: 06/18(水)17:42 ID:SrJIdorw(1) AAS
世界最長のコンテキストウィンドウ100万トークン入力・8万トークン出力対応にもかかわらずたった7800万円でトレーニングされたAIモデル「MiniMax-M1」がオープンソースで公開され誰でもダウンロード可能に
2025年06月18日 11時43分
外部リンク:gigazine.net
>>MiniMax-M1は、合計4560億のパラメーターが含まれており、トークンごとに459億のパラメーターがアクティブになるとのこと。これはDeepSeek R1の8倍に相当するコンテキストウィンドウです
>>以下のグラフは競技レベルの数学、コーディング、ソフトウェアエンジニアリング、エージェントツールの使用、長文理解タスクにおけるパフォーマンスを主要な商用AIモデルと比較したもの。赤色がMiniMax-M1で、どのタスクにおいても競合AIモデルに匹敵するパフォーマンスを発揮できている
>>MiiniMax-M1はいくつかのベンチマーク、特に長いコンテキスト駆動のベンチマークでClaude Opus 4のパフォーマンスを上回りました」と報告
※AIを動作させている動画あり
省12
1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 1.276s*