[過去ログ] Perlについての質問箱 64箱目 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
76: バグもういっこ 2019/06/28(金)03:37 ID:yOZUOG90(2/2) AAS
画像リンク
左のように綺麗にまっすぐ整えろ が本の通りなのに
右のように変なところにいく
77: 2019/06/28(金)05:48 ID:MYNfkfjj(1) AAS
何語?
78: 2019/06/28(金)14:53 ID:oMWPNRS2(1) AAS
perl にインデントを求めるな。
79: 2019/06/29(土)00:24 ID:YzN8MsSb(1) AAS
\(^o^)/
80: 2019/06/29(土)05:53 ID:3U68S2mZ(1/4) AAS
どうでもインデント
81: 2019/06/29(土)15:13 ID:3U68S2mZ(2/4) AAS
sjisでローマ数字の?が書いてあるのをutf8にすると、どうやっても化けるな
82: 2019/06/29(土)15:18 ID:3U68S2mZ(3/4) AAS
一旦生で読んでcp932でデコードすればいいのか
LWP:Simpleだとそのへんに手が出せない
83: 2019/06/29(土)17:02 ID:o1VtcfU0(1) AAS
MySQLもそうだけど、sjisは使っちゃイカンやろ。
細かいところで文字の置き換えルールがメチャクチャだったような。
いわゆるシフトJISはとにかくcp932で。
84: 2019/06/29(土)17:53 ID:3U68S2mZ(4/4) AAS
多分htmlに俺はsjisだと書いてあると、LWPが勝手にsjisでデコードするんだろう
85: 2019/07/06(土)10:10 ID:oMEfEQKE(1) AAS
元がeuc-jpだと、
$str =~ s/\x{301c}/〜/g;
みたいなことを明示的に書かないと、回避できないみたい
同じものやがな
86(1): 2019/07/12(金)02:22 ID:AjCqo1Mf(1/2) AAS
下記のコードですがダブルクォートを介さずに$testから'フ'を表示させる方法はありますか?
#!/bin/env perl
use strict;
use warnings;
use utf8;
my $test = '\xE3\x83\x95';
my $test2 = "\xE3\x83\x95";
print "$test\n\n";
print "$test2\n\n";
87: 2019/07/12(金)02:35 ID:gPQuYcbX(1) AAS
my $test3 = $test;
$test3 =~ s/\\x([0-9A-Fa-f]{2})/pack('H2', $1)/eg;
print "$test3\n";
88: 2019/07/12(金)04:04 ID:yXcDIkyu(1) AAS
print eval qq/"$test\n\n"/;
89: 86 2019/07/12(金)07:58 ID:AjCqo1Mf(2/2) AAS
ありがとうございます!
90: 2019/08/11(日)05:06 ID:GTeyRs5o(1/4) AAS
こんな書きかたあったか?
DB<27> printf "%s\n", ('Fizz')[$_%3] . ('Buzz')[$_%5] || $_ for (1..15)
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
()[]が見おぼえがない
91: 2019/08/11(日)05:17 ID:GTeyRs5o(2/4) AAS
()で配列とみなしたとき
()[0]は定義されていると考えて
()[1]などは未定義で無しというトリックか
92: 2019/08/11(日)05:42 ID:GTeyRs5o(3/4) AAS
DB<25> print "$_ cup", ("s")[$_ < 2] , " of coffee\n" for (1..3)
1 cup of coffee
2 cups of coffee
3 cups of coffee
93: 2019/08/11(日)10:17 ID:GTeyRs5o(4/4) AAS
DB<23> printf "%s\n", "$_ cup" . ("s")x!!($_ != 1) . " of coffee" for (0..3)
0 cups of coffee
1 cup of coffee
2 cups of coffee
3 cups of coffee
DB<24> printf "%s\n", "$_ butterfl" . ("y","ies")[($_ != 1)] for (0..3)
0 butterflies
1 butterfly
2 butterflies
3 butterflies
94: 2019/08/12(月)10:00 ID:1t9yEA1l(1) AAS
今はもう (1)[1] が空リストにならないんだな。perl5220delta に書いてあった。
リストコンテキストでの問題を避けるために
[split( /::/ , $class)]->[4]
みたいな書き方をしていたんだが。
いや、これは変えなくていいのか。
95: 2019/08/12(月)10:16 ID:BBJuWfXI(1) AAS
undefは省力とかフェールセーフ的に有効にするんじゃなくて、
厳密に仕様化して積極的に使うべきだよな
初期化されてないものを使うのが気持ち悪いと感じるのは、
auto変数が本当に領域確保するだけだった頃の名残り
96: 2019/09/14(土)11:56 ID:MMNKizJk(1) AAS
簡単なシェルスクリプトしか書けない素人ですがPerlの利点ってどこです?
grep -Pやperl -peで世話にはなっていますが目当てはあくまで正規表現だけですし
比較演算子はbashと逆だし変数は記号で使い分けなきゃならんしなんだこいつってなって
97: 2019/09/14(土)12:00 ID:JUmWdv2U(1) AAS
どこでも使える
98: 2019/09/14(土)23:46 ID:n7pzU9md(1) AAS
テキスト処理に特化されているところ
そのおかげで "," や " " とかの部分を q(,) q( ) などと書けたり
perl コードが正規表現と一体化していて再帰も扱えたりなど色々あるが
全部特化したことによる利点
99: 2019/09/14(土)23:58 ID:SgsUVSB1(1) AAS
Perl6使ってる香具師さんいますか?
100: 2019/09/15(日)00:02 ID:epz106Yo(1) AAS
bashで凝ったことを書くことを考えたら、Perlのほうがはるかに簡単。
bashは所詮シェルなので、クォートとかエスケープとか変数とか関数とか、いちいちワナが多いからな。
101(1): 2019/09/15(日)17:56 ID:riyG3w3b(1) AAS
Perlの利点?
他の言語と同様になんでもできることかな。モジュール色々使うと作るの楽だしOSの違いもかなり吸収されてWindowsでもLinuxでも何も変更せずに動くプログラムも作れる。
シェルスクリプトも外部コマンド動かせば何でもできるとは言えるが、起動のオーバーヘッドの問題や起動しているコマンドの仕様が変わったときに個別に対応しなければいけないなど面倒な事がある。
102(2): 2019/10/23(水)15:22 ID:Q75cL8J3(1) AAS
>>101
> OSの違いもかなり吸収されてWindowsでもLinuxでも何も変更せずに動くプログラムも作れる。
これでとんでもない目に遭ったぞ。
perlの\nは、内部的にはLF のみだが、OSがWindowsなら、出力する際に
CR+LF に自動的に変換してくれる。
しかし、出力文字コードがutf16le だと、特殊な宣言文を書かない限り、
LF (0x000a)は 「0x000a000d」ではなく、「0x000a0d」に変換され、
ぐちゃぐちゃに文字化けする。
文字化けの原因を特定し、回避方法を見つけるために、ずいぶん時間を取られた。
103: 2019/10/23(水)15:31 ID:7+59i/z7(1) AAS
chcp 1200でいけそうな気がするんだけど
104: 2019/10/23(水)17:37 ID:azQS8Nqn(1) AAS
>>102
\n は他の言語でも気を付けた方が良い。
例えC言語だったとしても歴史的な事情でライブラリが勝手に変換するかも知れない。
この頃はそれにまつわるバグは減ってるとは思うけどね。
ま、少なくとも \n を \x0a だと信じ込んで使うのは止めた方がいいだろうな。
\x0a はあくまでも \x0a と書いた方が良い。
Javaとかでは改行は System.out.println() を使って改行させるようにして \n を埋め込んでの改行は極力避けた方が良い。
105(1): 2019/10/24(木)00:15 ID:dNYiTPCj(1) AAS
>>102
いや、特殊な宣言文ってなんだよ。PerlIO の man 読めよ。
open 関数や binmode 関数の説明にも「PerlIO を読め」って書いてあるよ。
上下前次1-新書関写板覧索設栞歴
あと 897 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.022s