Perlについての質問箱 65箱目 (114レス)
1-

1: 2021/03/27(土)23:52 ID:vQS/WYw3(1/2) AAS
CGIについての質問は板違いです。WEBプログラミング板でどうぞ。
CGIとPerlの区別がつかない人もWEBプログラミング板に行ってください。
(WEBプログラミング板: 2ch板:php

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

"The duct tape of the Internet" こと、Perlについての質問箱です。
省11
34: 2021/09/15(水)23:54 ID:3vtMVT28(2/2) AAS
>>29
それ . が ` になってるよ。直してやってみたらちゃんとできたよ。

$ echo '[[インプット メソッド エディタ|IME]]' | perl -pe 's/\[\[(.*?(\|(.*?)))\]\]/$3 ? $3 : $1/ge'
IME
$
35: 2021/09/18(土)03:37 ID:YPBxfQEw(1) AAS
スクレイピングの勉強するのですが、下手するとF5アタックになるとかの法的リスクと回避法を重視している入門書ってありますか?
今の所やりたいことは、特定の市町村の5年分気温気象データを収集して自分用に加工
近所のコインランドリーの稼働データを集計して空いてる確率が高い時間帯を調べるの2つです
前者は膨大なデータを取得する必要があります
後者は10分から20分おきにアクセスすることになります
36: 2021/09/18(土)03:45 ID:VuuEM7MI(1) AAS
まるぽ
37: 2021/09/18(土)18:17 ID:J85RgKD5(1) AAS
頭のおかしい人に以下のようなことを言われました

>>基本、スクレイピングは営業妨害との戦い。
>>どの本にも、そう書いてある。
>>スクレイピングを推奨する本はない

具体的な書籍名を教えてください

>>5ch は、マルチポスト禁止!
>>同じ質問を、複数のスレや外部のサイトに書いてはいけない
省1
38
(2): 2021/10/02(土)06:38 ID:b+9bP+Kg(1) AAS
socketでデータを受信すると、
データの途中に「残りバイト数」が挿入されてしまうことがあるんだけど、これはどう取り除けばいいの?
例えばこんな感じになる
wtjjpodjtjtjaajjgjjaatwdjjg@gptjwttdmttjmttpwm'jajt
1f
1234567890123456789012345678901
残りバイト数(1f)を16進数で表した文字列が挿入されてる
省2
39: 2021/10/02(土)14:54 ID:lWVjrMOX(1) AAS
>>38
なにそれ?文字で挿入されるの?そんなの初めて聞いたなあ。送る側で入れてるだけなのでは?(そうでなければ呼んでるライブラリが何かおかしいか)

socket 関係はバッファリング避けるために sysread() 使った方が良い場合があるよ。
select で入力待ちをした後で読み込みとかね。
後は気を付けるとしたらノンブロッキングにしてるかどうかかな。
40
(1): 2021/10/03(日)14:58 ID:ngVDhrCg(1/2) AAS
activeperlからStrawberryperlへ移行を検討しているのですが、
activeperlで使用しているモジュール( Win32::EventLog::Message)が
cpanから削除されておりbackpanには残っていました。
外部リンク:cpan.metacpan.org
上記から、Win32-EventLog-Message.tar.gzはダウンロードできたのですが、
当方perl初心者でStrawberryperlへのインストール方法がわからず困っております。
どなたかインストール方法についてご教授お願い致します
41: 38 2021/10/03(日)15:42 ID:Etawdk1b(1) AAS
お騒がせしました
Transfer-Encording: chunked
ってやつだった
これかどうかを確認して別処理か…面倒くさあい
42
(1): 2021/10/03(日)20:15 ID:s9ykO0bu(1) AAS
>>40
マジレスするとperlを捨てるチャンス
43: 2021/10/03(日)20:18 ID:prztZm/y(1) AAS
>>42
そのかわりに何を勧めんの?
Windowsのイベントログを扱いたいヤツに。
44: 2021/10/03(日)22:00 ID:ngVDhrCg(2/2) AAS
40です。
通常Makefile.PLでインストールするようなのですが、
上記tar.gzには、Makefile.PLがなく、
Message.pmがあるのですが、
これは、strawberryperlにはインストールできないのでしょうか?
45: 2021/10/03(日)22:14 ID:BlQUkwCi(1) AAS
できるかどうか自分で試すしかない
他人にやってもらおうってのは虫が良すぎ
46: 2021/10/21(木)12:31 ID:gLUi04Um(1/2) AAS
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: 2021/10/21(木)12:49 ID:hpQkeFJy(1/2) AAS
test2.pngを変数にすればいいだけ
48: 2021/10/21(木)12:53 ID:gLUi04Um(2/2) AAS
いやそうじゃなくて正規表現使ったやつで
49: 2021/10/21(木)13:11 ID:hpQkeFJy(2/2) AAS
s/src=".+?"/src="test2.png"/
50: 2021/11/08(月)18:04 ID:H7HFgRE2(1/2) AAS
{a}ab{abc}
{}で囲まれたaだけdに置き換えたい
どうやればいいんですか?

{d}ab{dbc}になればいいってこと
51: 2021/11/08(月)18:59 ID:JELTvgr2(1) AAS
それだけじゃ分かんない
全ての条件を書かないと
それが解なんだけどね
52: 2021/11/08(月)22:10 ID:H7HFgRE2(2/2) AAS
本当にやりたいのは
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: 2021/11/09(火)00:02 ID:J0R6dl97(1/2) AAS
sub f {
my $s = shift;
$s =~ s/ / /g;
return "<$s>";
}

$line =~ s/<(.+?)>/f($1)/eg;
54: 2021/11/09(火)00:03 ID:J0R6dl97(2/2) AAS
sub f {
my $s = shift;
$s =~ s/&#160;/ /g;
return "<$s>";
}

$line =~ s/<(.+?)>/f($1)/eg;
55: 2021/11/09(火)00:36 ID:bwlPyLJQ(1) AAS
ありがとうございました
56
(2): 2022/01/06(木)18:30 ID:LRBDWWjE(1) AAS
printで出力すると/nで改行できません
二重引用符で括ってもできません
なにをやっても/nがそのまま表示されます
調べても二重引用符で括れとか〈br〉とかしか出てきません
57: 2022/01/06(木)18:45 ID:qZej6RdN(1) AAS
スラッシュnは改行じゃないからな
58
(1): 2022/01/06(木)20:07 ID:HyMw34ze(1) AAS
斬新な質問だ。w
斜めの縦棒を日本語キーボードで入力しろ、と言われたらたしかにそうなるかもだが。
59: 2022/01/07(金)00:42 ID:+rjvm48j(1/2) AAS
>>56
\n でやってみな。
60: 2022/01/07(金)00:45 ID:+rjvm48j(2/2) AAS
>>58
やはり \ (\x5c) の歴史的な事情を知らないと分からないのだろうな。
61: 56 2022/01/07(金)18:30 ID:j8/UZCr2(1) AAS
¥マークを\に変えたらできました
紛らわしいもんですね
62: 2022/01/08(土)10:43 ID:mAjXIrhA(1) AAS
そう。紛らわしいんだ。
63: 2022/01/08(土)23:05 ID:Df3tzX0P(1) AAS
逆スラッシュは、日本語・Windows 用のキーボードで、半角の\ と同じ

半角の\ と見た目が同じでも、異なる文字コードの文字があるので、
それは使わないようにすべき!
64: 2022/01/09(日)19:38 ID:C8vy8rqb(1) AAS
プログラムコードの中に全角文字を入れない
というだけで十分では?
65: 2022/01/09(日)20:41 ID:G7UaEudb(1) AAS
そんな話はしていない。
アホなの?
66: 2022/01/09(日)20:58 ID:j/1ajBbY(1) AAS
運用でカバーできる…そんなふうに考えていた時期が俺にもありました
67: 2022/01/10(月)00:32 ID:lVSGmVUf(1/2) AAS
おまいらの話がさっぱりわからん

もしかしておまいらの画面にはレス中の \ が \ と表示されてるのか?
68: 2022/01/10(月)00:32 ID:lVSGmVUf(2/2) AAS
あーやっぱりそうかww
69: 2022/01/10(月)00:57 ID:av6tewvz(1/3) AAS
U+005C なのか U+00A5 なのかという問題
70
(1): 2022/01/10(月)01:03 ID:av6tewvz(2/3) AAS
以前 Linux の端末で Perl のプログラムで改行として ¥n を入れたらそのまま画面に ¥n が出て来て驚いたことがあったが、
その時はキーボードの「¥」を押すと U+00A5 が入力されており「\」を押すと U+005C が入力されている状態だった。
もちろんキーボードの通りに端末画面に出る。

ま、しかし、これが本来あるべき姿だよな。
71: 2022/01/10(月)01:06 ID:9yjjKzLZ(1) AAS
お前ら安心しろ、PowerShellのエスケープ文字はバッククォート「`」だ
72
(1): 2022/01/10(月)18:57 ID:iL7OUFIC(1) AAS
evalは使わない方がいいって聞いたけど
例外処理でeval使わない方がいいんですか?
それなら例外処理はどうすればいいんですか?
73: 2022/01/10(月)19:47 ID:VCZFr+j9(1) AAS
>>72
文字列のevalは使うなという話やろ?
でなければ、そう言ったヤツに聞かんと。
74: 2022/01/10(月)19:53 ID:av6tewvz(3/3) AAS
セキュリティホールを作ってしまうかも知れないから使うなら気をつけて使えってことだろう。
特に外部から入力した文字列を元にしてevalに渡す文字列を作る場合な。
75
(2): 2022/01/12(水)14:32 ID:qWEJmmBb(1) AAS
>>70
Windowsだけが異常なだけなんでは?
俺は本来しか知らないよ
76: 2022/01/12(水)17:06 ID:MDxnZ/Jq(1) AAS
>>75
そうなんだろうな。問題は、そこらじゅうにWindowsマシンがあるといこと。
サーバは Linux でも端末が Windows だとおかしい状態で表示されたりする。
(端末用のソフトやその設定次第ではあるが)
77: 2022/01/12(水)18:28 ID:7zxmPeKt(1) AAS
>>75
遭遇頻度で言えば、Windows以外のほうがレアだけどな!
78: 2022/01/26(水)18:09 ID:m/HfztEH(1) AAS
子飼弾がyoutubeやってるって聞いたんで見てみた
老害オヤジみたいになっててなんだかなあ
79
(1): 2022/02/16(水)15:00 ID:kgKTrVeV(1) AAS
2020年にPerl5.32あたりと同じ内容で2021までにはPerl7がリリース予定
目立った機能追加もないからさすがにリリース余裕だろうと思っとんだがあの話しどうなったの?
Perlコミュニティ機能してなくてそれすらなくなったとか?
80: 2022/03/29(火)03:26 ID:d1B39DZ4(1) AAS
未だにperlでwebサイト作ってるとこあんの?
2chはperlらしいが
81: 2022/03/30(水)15:15 ID:eA8ci9y2(1) AAS
2chはC言語では?
違ったっけ?
82: 2022/04/23(土)16:12 ID:07cLvGHn(1) AAS
ここにperl関係者いるかな? 連絡用のアカウント作るの面倒なんでここで報告。

perl5 で (?<name>\d{1}){0} がおかしい件
外部リンク[txt]:github.com

perlrecharclass.pod の誤植 - perldoc.jp
外部リンク[txt]:github.com
83: 2022/04/24(日)18:45 ID:5imQEA1W(1) AAS
>>79
亀だが外から見えるまとまった発表はないな。Steering Council もそれに気付いたから近々ブログ記事も出すと言ってる
外部リンク:markmail.org

まあ Perl 7 の変更点だった strict / warnings / feature 'signatures' のデフォルト有効化と
feature qw/indirect multidimentional bareword_filehandles/ のデフォルト無効化は use feature ':5.36' に全部入ったから use v5.36 すれば実質 Perl 7 だ
84
(2): 2022/08/11(木)23:25 ID:LJKUJJ+3(1) AAS
perlファイルに書かれている1行目の記述(#!/usr/local/bin/perl等)を変更せずに、
apacheでperlの参照先を変えたい(出来ればvirtualhost毎)のですが、やり方分かる方ませんか?
85
(1): 2022/08/11(木)23:37 ID:/k5aJ7yS(1) AAS
それOSの力を借りないと無理なのでは?ApacheやPerlの問題ではないと思うが。

自分で /usr/local/bin/perl というスクリプトを作ってしまってそこで切り替えるみたいな誤魔化しで良いなら楽だと思うが。
86: 2022/08/14(日)20:49 ID:kr4fb0g+(1) AAS
>>85
OSはUbuntu 20.04.4 LTS を使っています。
何か方法はないでしょうか?
87
(1): 2022/08/14(日)21:03 ID:pSnWmvh5(1) AAS
shebangを無視してファイルを実行するようなApacheモジュールを組み込んだらできるかも?
そんなモジュールはきっと存在しないので、自作が前提だけど。w
88: 2022/08/20(土)02:15 ID:GHxw2S4o(1) AAS
>>87
shebangを使って出来るか試して見ますね
89: 2022/08/23(火)18:46 ID:gaXbg1Nc(1) AAS
Perlに限った話じゃないんだが、WSL1でubuntu 22.04を使うとWSL1上でgzipバイナリが動かないせいで、tar.gz関連処理が軒並みエラーになってしまう
cpanでモジュールをダウンロードするとtar.gzの展開に失敗するのでなにもインストールできない
解決するには、gzipのソースをgnu公式からダウンロードしてビルド&インストールしてWSL1で動くgzipにパスが通るようにする必要がある
90: 2022/08/24(水)00:32 ID:Ww6nM5wc(1) AAS
>>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
省2
91: 2022/08/25(木)15:27 ID:bJn+zm7R(1) AAS
宇宙刑事 shebang
92: 2022/08/26(金)18:50 ID:NQ4mbOjq(1) AAS
>>84
Would you like

#!/usr/bin/env perl
or
/your_favorite_perl_path perl_script
93: 2022/08/26(金)20:12 ID:fCaJRqVr(1) AAS
きまぐれでどれが呼ばれるか判らんものをよく使おうと思えるな
94
(1): 2022/08/26(金)20:37 ID:KXcMIUBJ(1) AAS
gzはwin同梱のtarには付いて無いんか?
95: 2022/08/28(日)05:40 ID:vrDCS1ZD(1/3) AAS
>>94
PATH の通ったディレクトリに Windows 用の xz.exe を置いておくと tar の J オプションで展開してくれるようだが圧縮は対応していない模様。
圧縮は自分でパイプ通してやらないとできないみたい。何故そうなっているかは不明。
96: 2022/08/28(日)05:40 ID:vrDCS1ZD(2/3) AAS
あ、gz か。ごめん。xz と間違えた。
97: 2022/08/28(日)05:42 ID:vrDCS1ZD(3/3) AAS
あれ?でも gz (gzip) 圧縮なら tar cvfz でできたな。
98: 2022/12/23(金)15:18 ID:yhR2datD(1) AAS
perlに付属されているh2xsというツールを使ってモジュールを作成したいんですが、ディレクトリに移動に移動してコードを書く方法が分かりませんアドバイスお願いします。

※Perl
外部リンク:linuxcommand.net
99
(1): 2023/06/07(水)16:24 ID:ywJ2sk66(1/2) AAS
Perlのpackage内my変数についてちょっと疑問。
myはレキシカルな局所変数なので、他package内のmy変数は他のpackageからは参照できず、参照したければmy出なくourにすると解釈していたが。
packageが別々のソースファイルだった場合はその通りですっきりしたスコープ仕様だと思っていたが…
ところが二つのpackageが同じソースファイル内にあり、他のpackageのmy変数を参照すると変な感じ:


use strict;
use warnings;
省18
100
(1): 2023/06/07(水)21:31 ID:w5fTdC21(1) AAS
myはpackageとは何の関係もない
packageにmyのシンボルテーブルはない
だから(3)ではuninitialized value $P1::bbになる
(4)は単なる文字列
正常な振る舞いだよ
101: 2023/06/07(水)23:23 ID:ywJ2sk66(2/2) AAS
>>100
回答ありがとう、myがそういうものだと今日まで知らずにいた…おrz
102: 2023/06/08(木)00:48 ID:ZzDLFGD7(1) AAS
myのスコープはブロック、ファイル、evalの3つ
パッケージとは無関係だから>>99ではファイルスコープになるね
package P2でもう一度my $bb宣言したらエラーになることからも分かる
103: 2024/02/23(金)07:50 ID:3WpPBYhb(1) AAS
あげ
104
(1): 2024/04/14(日)21:35 ID:byNUCOGR(1) AAS
ローカルサーバーでsrandとrandで生成した乱数の値と
レンタルサーバーでsrandとrandで生成した乱数の値が違うのは何で?
どちらもsrandの値は同じとする。
105: 2024/04/15(月)00:21 ID:9X9lvy+w(1) AAS
このへんから探ってみては
外部リンク:github.com

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

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

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

これの動き教えてくれよ
出来ればサンプルソースも
110: 2024/04/16(火)15:16 ID:UEoqQOMp(1) AAS
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
省4
111: 2024/04/16(火)15:37 ID:E/T1RXIg(1) AAS
成る程、() 使わない副作用意識しないとダメですね
ありがとうございます
112: 2024/11/17(日)20:01 ID:w8x6IOGf(1) AAS
poetryと同等の仕組みがないときつい
113: 11/10(月)07:57 ID:FhsKmzpk(1) AAS
2025年最後の書き込みになるかもしれないから書いておこう
114: 11/16(日)00:05 ID:TywOlYcs(1) AAS
いや、この書き込みが2025年最後だ

という書き込みが延々と続いたりして
1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.552s*