Perl初心者スレ(マジレス回答) (523レス)
上下前次1-新
382(1): 2016/11/03(木)19:06 ID:OIFmvywo(1) AAS
s{ name=" ([^"]+) " }{ 'name="' . lc($1) . '"' }egx
383: 380 2016/11/03(木)23:22 ID:k7tVkirO(1) AAS
>>382
eで関数を使えるんですね。ありがとうございました。
384: 2016/11/20(日)01:09 ID:VOEYuZOA(1/2) AAS
perl コマンドラインからモジュールを読み込みたいんですが、
perl -mM Win32::Clipboard -e ""
だと
Can't open perl script "Win32::Clipboard": Invalid argument
と怒られます。
Perl64\lib\Win32\Clipboard.pm
は存在しているのですが・・・
385(1): 2016/11/20(日)11:39 ID:fMzPWX9X(1/2) AAS
なんで -m と -M 重ねてるの?それと隙間開けずにやってみ
-MWin32::Clipboard
↑
386: 2016/11/20(日)11:42 ID:fMzPWX9X(2/2) AAS
perl -mM Win32::Clipboard
だと M.pm を読み込んだ後 Win32::Clipboard という名のファイルをperlスクリプトとして実行しようとしてるっぽい
387: 2016/11/20(日)19:04 ID:VOEYuZOA(2/2) AAS
>>385
できました。
ありがとうございました。
388: 2016/11/20(日)21:00 ID:pMz2tkuX(1/2) AAS
どうでもいいけど、質問の回答に「なんで○○なの」と質問で返すのはみっともない
わからないから質問してるのにね
ここは初心者スレだし
よっぽど回答に自信が無いように見える
389(1): 2016/11/20(日)21:01 ID:pMz2tkuX(2/2) AAS
なんで?
なんで?
なんで?
ことあるごとに、「なんで」っていうヤツ
バカっぽい
イライラする
ムカツク
390: 2016/11/23(水)04:06 ID:eJb9MXJH(1) AAS
>>389
「なんで」を追求する楽しさがわからないの?
391: 2016/11/23(水)10:50 ID:I/SlW2fg(1/2) AAS
質問を質問でかえすやついるよな
俺「なぜ変更したんですか?」
先輩「なぜ、その変更に疑問を抱くの?」
・・・
392(1): 2016/11/23(水)11:10 ID:NGAFtogl(1) AAS
文脈にもよるわな
マニュアルにはっきり書いてあるようなことと違うことやっているなら「お前ちゃんと読んでないのか?」ってなるし
どう説明したら理解できるのか探るためにどう考えてどこに疑問を持ったのか確認することもあるし
そういう文脈を無視して 質問したら質問が返ってきた = おかしい は短絡的だね
393: 2016/11/23(水)11:32 ID:I/SlW2fg(2/2) AAS
>>392
めんどくさい人って思われてるよw
誰もあんなに聞きにこなくね?
394: 2016/11/24(木)21:29 ID:Puznaqkq(1/2) AAS
perlの本を読んでいると、よく
「スカラーコンテキストでは〜」とか「リストコンテキストでは〜」とありますが
どのようなところで、分かるのでしょうか?
$a = grep /d/ ,qw<ab cd def>;
なんかgrepがスカラーコンテキストで使われていると思うんですが
if(grep /d/ ,qw<ab cd def>){}
だとなぜスカラーコンテキストだと分かるのでしょうか?
395: 2016/11/24(木)21:43 ID:ws/Ij8QD(1) AAS
真偽値だからスカラーコンテキスト
396: 2016/11/24(木)22:50 ID:Puznaqkq(2/2) AAS
ありがとうございます
理解できました。
397: 2016/11/28(月)20:34 ID:5mxcw3wW(1) AAS
shiftjisのファイルを読み込むと「{」が「本」にマッチしちゃうんですがいい方法ありませんか?
398: 2016/11/29(火)00:14 ID:y3Pzho4d(1) AAS
基本全部utf8で処理する
399(1): 2016/11/29(火)00:38 ID:p0rBFEu6(1) AAS
ファイルを読み込むときにperlに文字コードを教えてあげるとバイト単位ではなくて文字単位で認識してもらえるようになる
open my $fh, '<:encoding(cp932)', $file or die $!;
正規表現を含むソースコード全体をUTF8で書き、スコープの上の方で use utf8; と宣言すればスコープ内のコードも文字単位で認識されるようになる
400: 2016/11/29(火)08:02 ID:lSOeahl6(1) AAS
>>399
レスありがとうございます。
試してみます。
取り急ぎお礼まで。
401(1): 2017/02/26(日)22:46 ID:UaR+28E8(1) AAS
以下エラーが出たため、ググると、似たエラーのQ and Aがありました。
Q and A では "if(defined(%hash))"を"if(%hash)"にしろと読めたので、倣うと確かにエラーは解消されました。
理屈はまるで分からないのですが、%記号のついた変数のときだけdefinedを削る理由は何なのでしょうか。
エラー: Can't use 'defined(%hash)' (Maybe you should just omit the defined()?) at ./w3mhelp.cgi line 51.
Q and A: 外部リンク:github.com
402: 2017/02/26(日)23:46 ID:03Ms8vp8(1) AAS
>>401
すごく古い Perl (例えば 5.005_03) だと、defined %hash はエラーにならず 0 か 1 が返ってきていた。
だが今やこの機能は廃止された。
外部リンク:perldoc.jp
> 集合(ハッシュや配列)への defined の使用は非推奨です。
> これはその集合にメモリが割り当てられたかを報告するのに用いられていました。
> この振る舞いは将来のバージョンの Perl では消滅するかもしれません。
ハッシュ変数自体をスカラーコンテキストで評価すると「利用バケット数/確保バケット数」のような値が
返ってきて、これは昔から変わらない。内容が完全に未定義 = キーが一つも無ければ 0 が返される。
よって if (%hash) { ... } は、意味や挙動的には if (keys %hash) { ... } と同じ。
my %hash;
printf "%s, %d\n", scalar %hash, scalar keys %hash; # 0, 0
$hash{udnef} = undef;
printf "%s, %d\n", scalar %hash, scalar keys %hash; # 1/8, 1
%hash = ();
printf "%s, %d\n", scalar %hash, scalar keys %hash; # 0, 0
外部リンク:d.hatena.ne.jp
403: 2017/02/27(月)00:03 ID:JWhb7pSm(1) AAS
外部リンク[pod]:perldoc.jp
>defined(@array) と defined(%hash) は致命的エラーになりました
>これは v5.6.1 から廃止予定で、v5.16 から廃止予定警告が出力されていました。
v5.6.1は2001年、v5.16は2012年、実際に廃止されたv5.22は2015年にリリース
外部リンク:www.effectiveperlprogramming.com
>A hash is scalar context will return the number of keys, not the hash statistics.
今年リリース予定のv5.26からはスカラーコンテキストのハッシュが返す値はハッシュの持つキーの数になるそうです
404(1): 2018/02/03(土)21:51 ID:UEj2CeXM(1/3) AAS
Perl初心者です。独学でやり始めましたが、わからないことがあり、先輩方、何卒よろしくお願いします。
my $num = 1;
my $inc = $num++;
print “$num¥n”;
print “$inc¥n”;
変数$numは2と表示されますが、変数$incは1と表示さます。こらは仕様でしょうか。変数$incについても2が表示されると思ってたのですが。
C言語では右辺を評価した後に左辺に代入して、2が表示してたかな、と思ったので質問させていただきます。
405(1): 2018/02/03(土)22:48 ID:oNG+vmom(1) AAS
>>404
Cでも++演算子は同様の結果になると思ったが?
406(1): 2018/02/03(土)22:55 ID:UEj2CeXM(2/3) AAS
>>405
本当ですね。もっと確認してから質問するべきでした。
やりたかったことは
$inc = ++$num(
でした。C言語と同じですね。
ご教授頂きまして、どうもありがとうございました。
407: 2018/02/03(土)22:57 ID:UEj2CeXM(3/3) AAS
>>406
$inc = ++$num;
の間違いです。
408: 2018/05/23(水)20:30 ID:Au5e7VGg(1) AAS
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
WVNXN
409: 2018/05/24(木)02:11 ID:zOcuDZ4P(1/2) AAS
perlやってみたいど素人です。
Ubuntu 18.04がメインのマシンです
Windows XPサポート終了後難民となり
Ubuntu 16.04に辿りついてます
Ubuntuもまだまだど素人ですけど
通常に動かす所まではできます
Perlはどこから?始めたらいいでしょう
本買った方がいいのかな?
410: 2018/05/24(木)02:11 ID:zOcuDZ4P(2/2) AAS
perlやってみたいど素人です。
Ubuntu 18.04がメインのマシンです
Windows XPサポート終了後難民となり
Ubuntu 16.04に辿りついてます
Ubuntuもまだまだど素人ですけど
通常に動かす所まではできます
Perlはどこから?始めたらいいでしょう
本買った方がいいのかな?
411(1): 2018/05/24(木)07:46 ID:8nuNm7XP(1) AAS
どのみち本は買った方がいいと思うけど
初心者から始めるならこんなのもあるみたいよ(宣伝乙)
外部リンク:www.perl-entrance.org
上下前次1-新書関写板覧索設栞歴
あと 112 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.008s