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/
2021/03/27(土) 23:54:34.17ID:vQS/WYw3
2以降テンプレNGワードで貼れず。
見たい人は前スレ参照してくださいな。
3デフォルトの名無しさん
垢版 |
2021/04/29(木) 02:22:04.28ID:vjsl7cGC
LinuxやmacOSのperlは、Term::ReadLineの $term->readline() で日本語などのマルチバイト文字の入力結果が文字化けしてしまうが、
cpanなどを使ってTerm::ReadLine::Gnuをインストールすることで回避できる
Linuxの場合はTerm::ReadLine::Gnuをビルドするためにlibreadline-devも必要になる
2021/04/29(木) 14:16:29.56ID:gAM2tnQs
ttps://blog.outer-inside.net/2021/03/perl-5.34-delta.html
2021/04/29(木) 23:41:19.05ID:YN7Pg05+
CentOS7 だと yum install perl-Term-ReadLine-Gnu でインストールできたよ。
RPM使ってるOSはこれで行けるのではないかな。
2021/04/29(木) 23:47:16.34ID:YN7Pg05+
インストールすると perl -d でのデバッグ時も Ctrl+P だの Ctrl+N だの矢印キーだの使えるようになっていいね。
7デフォルトの名無しさん
垢版 |
2021/04/29(木) 23:58:36.30ID:YN7Pg05+
Ubuntu だとこれでインストールできた。Debian 系はこれでできそう。
sudo apt install libterm-readline-gnu-perl
8デフォルトの名無しさん
垢版 |
2021/05/23(日) 06:37:34.25ID:8ydzk+Rl
perl 5.34.0 がmacOSのhomebrewにきたけど、cpanがなんか変
9デフォルトの名無しさん
垢版 |
2021/05/23(日) 06:43:35.02ID:8ydzk+Rl
cpanだけじゃなくてperldocもだった
perl5.34.0ではなくmacOSに最初から入っている古いバージョンのperlを呼び出してしまうようだ
自力で回避するには古いperlが呼ばれないようにスクリプトを書き換えるなどの作業が必要
10デフォルトの名無しさん
垢版 |
2021/07/06(火) 11:11:57.65ID:yWww0KpQ
PerlスクリプトをVSCodeで対話デバッグするにはどうしたらいいですか?
2021/07/07(水) 01:34:33.25ID:bUHYGk47
例えば、Ruby では、p, pp を付けてオブジェクトの内容を確認できるので、デバッグまではしない。
Break Point で止めたり、デバッグしたいのなら、誰かが作った拡張機能を探す

require "csv"

input_str = <<"EOT"
-0.0,1.2.3
9..9,-0
EOT

csv = CSV.new( input_str )
csv.convert( :numeric ) # 数値型へ変換する

line_num = 0 # 行番号

csv.each do |row|
line_num += 1
p [ line_num, row[ 0 ].class, row[ 1 ].class ]
end

出力
[1, Float, String]
[2, String, Integer]

つまり、1.2.3, 9..9 は、型変換に失敗して、文字列のまま
レスを投稿する

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

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