Perlについての質問箱 65箱目at TECH
Perlについての質問箱 65箱目 - 暇つぶし2ch42:デフォルトの名無しさん
21/10/03 20:15:27.91 s9ykO0bu.net
>>40
マジレスするとperlを捨てるチャンス

43:デフォルトの名無しさん
21/10/03 20:18:20.58 prztZm/y.net
>>42
そのかわりに何を勧めんの?
Windowsのイベントログを扱いたいヤツに。

44:デフォルトの名無しさん
21/10/03 22:00:09.32 ngVDhrCg.net
40です。
通常Makefile.PLでインストールするようなのですが、
上記tar.gzには、Makefile.PLがなく、
Message.pmがあるのですが、
これは、strawberryperlにはインストールできないのでしょうか?

45:デフォルトの名無しさん
21/10/03 22:14:43.18 BlQUkwCi.net
できるかどうか自分で試すしかない
他人にやってもらおうってのは虫が良すぎ

46:デフォルトの名無しさん
21/10/21 12:31:10.82 gLUi04Um.net
my $str = "<img src=\"./test1.png\" style=\"width:100px;height:100px\">";
./test1.pngの部分を./test2.pngに置換するにはどうやればいいんですか?
my $str =~ s/test1.png/test2.png/g;というのじゃなくてtest1.pngの部分がどんな
画像URLでも置換できるように

47:デフォルトの名無しさん
21/10/21 12:49:12.67 hpQkeFJy.net
test2.pngを変数にすればいいだけ

48:デフォルトの名無しさん
21/10/21 12:53:02.13 gLUi04Um.net
いやそうじゃなくて正規表現使ったやつで

49:デフォルトの名無しさん
21/10/21 13:11:31.93 hpQkeFJy.net
s/src=".+?"/src="test2.png"/

50:デフォルトの名無しさん
21/11/08 18:04:06.58 H7HFgRE2.net
{a}ab{abc}
{}で囲まれたaだけdに置き換えたい
どうやればいいんですか?
{d}ab{dbc}になればいいってこと

51:デフォルトの名無しさん
21/11/08 18:59:06.40 JELTvgr2.net
それだけじゃ分かんない
全ての条件を書かないと
それが解なんだけどね

52:デフォルトの名無しさん
21/11/08 22:10:38.33 H7HFgRE2.net
本当にやりたいのは
my $line = "<img&#160;src='aaa.png'&#160;width='300'&#160;height='200'>&#160;画像説明";
<>の中にある全ての&#160;を半角スペースに置き換えたいっす
実行結果は<img src='aaa.png' width='300' height='200'>&#160;画像説明となればいいっす
送信したときブラウザが勝手に半角スペースを&#160;に変換しちゃうみたいなのでタグ内の半角スペースだけ元に戻したいから

53:デフォルトの名無しさん
21/11/09 00:02:06.84 J0R6dl97.net
sub f {
my $s = shift;
$s =~ s/ / /g;
return "<$s>";
}
$line =~ s/<(.+?)>/f($1)/eg;

54:デフォルトの名無しさん
21/11/09 00:03:21.78 J0R6dl97.net
sub f {
my $s = shift;
$s =~ s/&#160;/ /g;
return "<$s>";
}
$line =~ s/<(.+?)>/f($1)/eg;

55:デフォルトの名無しさん
21/11/09 00:36:22.21 bwlPyLJQ.net
ありがとうございました

56:デフォルトの名無しさん
22/01/06 18:30:59.16 LRBDWWjE.net
printで出力すると/nで改行できません
二重引用符で括ってもできません
なにをやっても/nがそのまま表示されます
調べても二重引用符で括れとか〈br〉とかしか出てきません

57:デフォルトの名無しさん
22/01/06 18:45:34.18 qZej6RdN.net
スラッシュnは改行じゃないからな

58:デフォルトの名無しさん
22/01/06 20:07:08.37 HyMw34ze.net
斬新な質問だ。w
斜めの縦棒を日本語キーボードで入力しろ、と言われたらたしかにそうなるかもだが。

59:デフォルトの名無しさん
22/01/07 00:42:46.84 +rjvm48j.net
>>56
\n でやってみな。

60:デフォルトの名無しさん
22/01/07 00:45:13.42 +rjvm48j.net
>>58
やはり \ (\x5c) の歴史的な事情を知らないと分からないのだろうな。

61:56
22/01/07 18:30:12.92 j8/UZCr2.net
¥マークを\に変えたらできました
紛らわしいもんですね

62:デフォルトの名無しさん
22/01/08 10:43:35.54 mAjXIrhA.net
そう。紛らわしいんだ。

63:デフォルトの名無しさん
22/01/08 23:05:04.70 Df3tzX0P.net
逆スラッシュは、日本語・Windows 用のキーボードで、半角の\ と同じ
半角の\ と見た目が同じでも、異なる文字コードの文字があるので、
それは使わないようにすべき!

64:デフォルトの名無しさん
22/01/09 19:38:34.71 C8vy8rqb.net
プログラムコードの中に全角文字を入れない
というだけで十分では?

65:デフォルトの名無しさん
22/01/09 20:41:20.51 G7UaEudb.net
そんな話はしていない。
アホなの?

66:デフォルトの名無しさん
22/01/09 20:58:02.56 j/1ajBbY.net
運用でカバーできる…そんなふうに考えていた時期が俺にもありました

67:デフォルトの名無しさん
22/01/10 00:32:28.18 lVSGmVUf.net
おまいらの話がさっぱりわからん
もしかしておまいらの画面にはレス中の \ が \ と表示されてるのか?

68:デフォルトの名無しさん
22/01/10 00:32:56.45 lVSGmVUf.net
あーやっぱりそうかww

69:デフォルトの名無しさん
22/01/10 00:57:25.51 av6tewvz.net
U+005C なのか U+00A5 なのかという問題

70:デフォルトの名無しさん
22/01/10 01:03:42.10 av6tewvz.net
以前 Linux の端末で Perl のプログラムで改行として ¥n を入れたらそのまま画面に ¥n が出て来て驚いたことがあったが、
その時はキーボードの「¥」を押すと U+00A5 が入力されており「\」を押すと U+005C が入力されている状態だった。
もちろんキーボードの通りに端末画面に出る。
ま、しかし、これが本来あるべき姿だよな。

71:デフォルトの名無しさん
22/01/10 01:06:59.43 9yjjKzLZ.net
お前ら安心しろ、PowerShellのエスケープ文字はバッククォート「`」だ

72:デフォルトの名無しさん
22/01/10 18:57:32.72 iL7OUFIC.net
evalは使わない方がいいって聞いたけど
例外処理でeval使わない方がいいんですか?
それなら例外処理はどうすればいいんですか?

73:デフォルトの名無しさん
22/01/10 19:47:01.57 VCZFr+j9.net
>>72
文字列のevalは使うなという話やろ?
でなければ、そう言ったヤツに聞かんと。

74:デフォルトの名無しさん
22/01/10 19:53:08.99 av6tewvz.net
セキュリティホールを作ってしまうかも知れないから使うなら気をつけて使えってことだろう。
特に外部から入力した文字列を元にしてevalに渡す文字列を作る場合な。

75:デフォルトの名無しさん
22/01/12 14:32:06.61 qWEJmmBb.net
>>70
Windowsだけが異常なだけなんでは?
俺は本来しか知らないよ

76:デフォルトの名無しさん
22/01/12 17:06:22.24 MDxnZ/Jq.net
>>75
そうなんだろうな。問題は、そこらじゅうにWindowsマシンがあるといこと。
サーバは Linux でも端末が Windows だとおかしい状態で表示されたりする。
(端末用のソフトやその設定次第ではあるが)

77:デフォルトの名無しさん
22/01/12 18:28:08.05 7zxmPeKt.net
>>75
遭遇頻度で言えば、Windows以外のほうがレアだけどな!

78:デフォルトの名無しさん
22/01/26 18:09:06.30 m/HfztEH.net
子飼弾がyoutubeやってるって聞いたんで見てみた
老害オヤジみたいになっててなんだかなあ

79:デフォルトの名無しさん
22/02/16 15:00:10.27 kgKTrVeV.net
2020年にPerl5.32あたりと同じ内容で2021までにはPerl7がリリース予定
目立った機能追加もないからさすがにリリース余裕だろうと思っとんだがあの話しどうなったの?
Perlコミュニティ機能してなくてそれすらなくなったとか?

80:デフォルトの名無しさん
22/03/29 03:26:40.85 d1B39DZ4.net
未だにperlでwebサイト作ってるとこあんの?
2chはperlらしいが

81:デフォルトの名無しさん
22/03/30 15:15:52.21 eA8ci9y2.net
2chはC言語では?
違ったっけ?

82:デフォルトの名無しさん
22/04/23 16:12:18.71 07cLvGHn.net
ここにperl関係者いるかな? 連絡用のアカウント作るの面倒なんでここで報告。
perl5 で (?<name>\d{1}){0} がおかしい件
URLリンク(github.com)
perlrecharclass.pod の誤植 - perldoc.jp
URLリンク(github.com)

83:デフォルトの名無しさん
22/04/24 18:45:33.05 5imQEA1W.net
>>79
亀だが外から見えるまとまった発表はないな。Steering Council もそれに気付いたから近々ブログ記事も出すと言ってる
URLリンク(markmail.org)
まあ Perl 7 の変更点だった strict / warnings / feature 'signatures' のデフォルト有効化と
feature qw/indirect multidimentional bareword_filehandles/ のデフォルト無効化は use feature ':5.36' に全部入ったから use v5.36 すれば実質 Perl 7 だ

84:デフォルトの名無しさん
22/08/11 23:25:10.27 LJKUJJ+3.net
perlファイルに書かれている1行目の記述(#!/usr/local/bin/perl等)を変更せずに、
apacheでperlの参照先を変えたい(出来ればvirtualhost毎)のですが、やり方分かる方ませんか?

85:デフォルトの名無しさん
22/08/11 23:37:59.40 /k5aJ7yS.net
それOSの力を借りないと無理なのでは?ApacheやPerlの問題ではないと思うが。
自分で /usr/local/bin/perl というスクリプトを作ってしまってそこで切り替えるみたいな誤魔化しで良いなら楽だと思うが。

86:デフォルトの名無しさん
[ここ壊れてます] .net
>>85
OSはUbuntu 20.04.4 LTS を使っています。
何か方法はないでしょうか?

87:デフォルトの名無しさん
[ここ壊れてます] .net
shebangを無視してファイルを実行するようなApacheモジュールを組み込んだらできるかも?
そんなモジュールはきっと存在しないので、自作が前提だけど。w

88:デフォルトの名無しさん
22/08/20 02:15:42.15 GHxw2S4o.net
>>87
shebangを使って出来るか試して見ますね

89:デフォルトの名無しさん
22/08/23 18:46:04.59 gaXbg1Nc.net
Perlに限った話じゃないんだが、WSL1でubuntu 22.04を使うとWSL1上でgzipバイナリが動かないせいで、tar.gz関連処理が軒並みエラーになってしまう
cpanでモジュールをダウンロードするとtar.gzの展開に失敗するのでなにもインストールできない
解決するには、gzipのソースをgnu公式からダウンロードしてビルド&インストールしてWSL1で動くgzipにパスが通るようにする必要がある

90:デフォルトの名無しさん
22/08/24 00:32:00.18 Ww6nM5wc.net
>>84
試してないが mod_actions 噛ませば良いんでない?
AddHandler my-perl-script .pl
AddHandler cgi-script .cgi
Action my-perl-script /cgi-bin/run-my-perl.cgi
とかやって run-my-perl.cgi は
#!/bin/sh
/path/to/your/perl $PATH_TRANSLATED
みたいな

91:デフォルトの名無しさん
22/08/25 15:27:50.26 bJn+zm7R.net
宇宙刑事 shebang

92:デフォルトの名無しさん
22/08/26 18:50:05.53 NQ4mbOjq.net
>>84
Would you like
#!/usr/bin/env perl
or
/your_favorite_perl_path perl_script

93:デフォルトの名無しさん
22/08/26 20:12:41.13 fCaJRqVr.net
きまぐれでどれが呼ばれるか判らんものをよく使おうと思えるな

94:デフォルトの名無しさん
22/08/26 20:37:01.58 KXcMIUBJ.net
gzはwin同梱のtarには付いて無いんか?

95:デフォルトの名無しさん
22/08/28 05:40:04.80 vrDCS1ZD.net
>>94
PATH の通ったディレクトリに Windows 用の xz.exe を置いておくと tar の J オプションで展開してくれるようだが圧縮は対応していない模様。
圧縮は自分でパイプ通してやらないとできないみたい。何故そうなっているかは不明。

96:デフォルトの名無しさん
22/08/28 05:40:40.65 vrDCS1ZD.net
あ、gz か。ごめん。xz と間違えた。

97:デフォルトの名無しさん
22/08/28 05:42:29.29 vrDCS1ZD.net
あれ?でも gz (gzip) 圧縮なら tar cvfz でできたな。

98:デフォルトの名無しさん
22/12/23 15:18:23.84 yhR2datD.net
perlに付属されているh2xsというツールを使ってモジュールを作成したいんですが、ディレクトリに移動に移動してコードを書く方法が分かりませんアドバイスお願いします。
※Perl
URLリンク(linuxcommand.net)

99:デフォルトの名無しさん
23/06/07 16:24:29.96 ywJ2sk66.net
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 で確認した。

100:デフォルトの名無しさん
23/06/07 21:31:39.79 w5fTdC21.net
myはpackageとは何の関係もない
packageにmyのシンボルテーブルはない
だから(3)ではuninitialized value $P1::bbになる
(4)は単なる文字列
正常な振る舞いだよ

101:デフォルトの名無しさん
23/06/07 23:23:43.75 ywJ2sk66.net
>>100
回答ありがとう、myがそういうものだと今日まで知らずにいた…おrz

102:デフォルトの名無しさん
23/06/08 00:48:41.98 ZzDLFGD7.net
myのスコープはブロック、ファイル、evalの3つ
パッケージとは無関係だから>>99ではファイルスコープになるね
package P2でもう一度my $bb宣言したらエラーになることからも分かる

103:デフォルトの名無しさん
23/08/31 14:27:49.36 MOdj+pbjZ
岸田異次元増税憲法ガン無視地球破壊軍國主義文雄のテ゛タラメっぷりが炸裂してるな、子ども真ん中社會が嘘八百なんて子どもでも分かるわな
力による一方的な現状変更によって都心まで数珠つなぎで鉄道の30倍以上もの莫大な温室効果ガスまき散らすクソ航空機倍増させて、騒音で
勉強妨害して気侯変動させて地球破壊して子どもの未来を暗黒の世界にして熱中症で殺害、世界最悪の脱炭素拒否テロ国家に送られる化石賞を
連続受賞していながら、私利私欲のために莫大な税金泥棒して、莫大な温室効果ガスまき散らしてクソ航空機を乗り倒して世界中に脱炭素ガー
た゛の嘘八百ほさ゛いてハ゛カ晒して.白々しくマッチポンプ丸出しで災害対策だのとバカの壁やら曰本中コンクリートまみれにして子と゛もの遊び場
破壊して溺死連発.利権倍増に増税、氣候変動であらゆるウイルス蔓延させて人殺して鶏卵価格やら物価暴騰、莫大な石油無駄に燃やす航空機
全廃すれは゛余裕で原發全廃できるものを原發稼働して全国放射能まみれを目指し、隣国挑発、軍事利権倍増、航空騒音で知的産業壊滅してる中
アプリのひとつも作れない分際でマイナンバカード推し進めて個人情報漏洩しまくり、漏洩した個人情報に一生害を受け続けるのが今の子と゛も
(羽田)URLリンク(www.call4.jp)е=items&id=I0000062 , ΤURLリンク(haneda-project.jimdofree.com)
(成田)ttPs://n-souonhigaisosуoudan.amеbaownd.com/
(テロ組織)URLリンク(i.imgur.com)/hnli1ga.jpeg

104:デフォルトの名無しさん
24/02/23 07:50:24.93 3WpPBYhb.net
あげ

105:デフォルトの名無しさん
24/04/14 21:35:03.76 byNUCOGR.net
ローカルサーバーでsrandとrandで生成した乱数の値と
レンタルサーバーでsrandとrandで生成した乱数の値が違うのは何で?
どちらもsrandの値は同じとする。

106:デフォルトの名無しさん
24/04/15 00:21:17.88 9X9lvy+w.net
このへんから探ってみては
URLリンク(github.com)

煽りじゃないよ しんどいので俺はここまで

107:デフォルトの名無しさん
24/04/15 12:41:15.37 cLz3iDP/.net
プラットフォームのifdefで切り分けてそうだからそれっぽいマクロ定数でも探すといいかも

108:デフォルトの名無しさん
24/04/15 17:29:37.18 UgC/I+2W.net
ビルドされた環境のCライブラリ依存じゃない?
同じにしたいならMath::Random::MTとか使えばいいんでね

109:デフォルトの名無しさん
24/04/16 09:32:57.50 Fr3sHPgG.net
>>105
一般論としてPerlの内部実装は無保証でコロッコロ変わるので、疑似乱数の再現性を担保したいならコードを同梱してしまうのが最も確実

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

同階層にpl版もある
丁寧にコードされパッケ化で無意味に冗長なので参考ならこっち
アルゴリズム特許あるか知らんし、ライセンスを許容するなら同梱

110:デフォルトの名無しさん
24/04/16 14:14:10.10 ipSHedtl.net
print"A\n",print"B\n";

これの動き教えてくれよ
出来ればサンプルソースも

111:デフォルトの名無しさん
24/04/16 15:16:06.51 UEoqQOMp.net
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");

112:デフォルトの名無しさん
24/04/16 15:37:42.78 E/T1RXIg.net
成る程、() 使わない副作用意識しないとダメですね
ありがとうございます

113:デフォルトの名無しさん
24/11/17 20:01:50.35 w8x6IOGf.net
poetryと同等の仕組みがないときつい

114:デフォルトの名無しさん
24/11/30 18:07:45.86 mcFtT/muL
Winny事件に裏金事件に今度は殺すそ゛八ラスメントの京都府警って絶望的に腐ってるよな、いまだに著作権法違反だのと嬉しがって個人攻撃
それでいて大企業がやってる盛大な著作権法違反のGPL違反とかスル一だしな、テレビやカーナビなどネット接続までする製品は
ユーザが改変使用できることを搭載の許諾条件にしているGPLソフトウェアを間違いなく使ってるが改変権を求めても平然と拒否してるだろ
要するに今回のパワ八ラ事件など象徴的で京都府警とは弱きをくじき強きを助ける外道集団、そんな地に落ちた汚名を少しでも返上する気が
あるなら門真のマネシタ電器にでも家宅捜索に入ってみせろっつのな、GPL違反裁判とかで検索すればゴロコ゛ロ出てくるか゛
海外ではGPL著作権者のみならずユーサ゛にも告訴が認められてるしな、日本の製品は騒音に脆弱な個人が作ったソフトウェアを盗んで組み合わ
せてるだけだがそんな犯罪組織に税金くれてやったりJALだのΑNΑだの氣候変動テロリストに全國騷音まみれにさせて徹底的に妨害しながら
税金で教育だの犯罪組織の内部留保倍増化投資だの見当違い甚だしい嘘八百自民公明増税政権続けさせたらお前らの生活破滅だぞ
(ref.) URLリンク(www.call)4.jΡ/info.рhp?tyΡe=items&id=I0000062
tΤps://haneda-project.jimdofree.com/ , Ttps://flight-route.Сom/
ttрs://n-souonhigaisosyoudan.amebaownd.Сom/

115:デフォルトの名無しさん
25/11/10 07:57:26.71 FhsKmzpk.net
2025年最後の書き込みになるかもしれないから書いておこう

116:デフォルトの名無しさん
25/11/16 00:05:37.18 TywOlYcs.net
いや、この書き込みが2025年最後だ

という書き込みが延々と続いたりして


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch