Perl初心者スレ(マジレス回答) (523レス)
1-

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
412: 2018/05/24(木)11:20 ID:4N/yOXRV(1) AAS
>>411
独学派なんです。
413: 2018/06/20(水)03:35 ID:CuTzdQY9(1) AAS
perlに初心者がつくとは。。perlの未来は明るい
414
(1): 2018/06/20(水)20:53 ID:Va19lMsb(1) AAS
Perl 6の“Neko operator”を使ってみたいのですがどのように使用すればいいでしょうか。
> 0 ^..^ 9
> say "0 ^..^ 9"
などとやっても
0 ^..^ 9
という文字列(?)が返ってくるだけなのですが……。
415: 2018/06/22(金)02:01 ID:AmdeLsRG(1) AAS
Perl6は初心者なので全く分からない。
というかやろうとしたことすらないので知識ゼロw
416: 2018/06/22(金)08:56 ID:Xz8qrSqH(1) AAS
perl6いつになったら実用的な実装出るのー?
417
(1): 2018/06/27(水)17:36 ID:rSBeNI25(1) AAS
>>414
すいませんどなたかこれ分かりませんか。
418
(1): 2018/06/28(木)00:53 ID:mceaYjQ2(1/2) AAS
>>417
perl6はまったく使ったことはないが、
範囲演算子らしいから
perl5の ... と同じように使うんじゃないのかね。
say $_ for 0 ^..^ 10;
みたいな? perl6の文法的にこれでいいかはわからんけど。
419: 2018/06/28(木)03:08 ID:mceaYjQ2(2/2) AAS
perl5の範囲演算子 ... じゃなくて .. だったね。失礼。
420: 2018/06/28(木)13:40 ID:n10gG+NH(1) AAS
>>418
できました。ありがとうございます。
421: 2018/06/29(金)22:13 ID:jsqIPRMd(1) AAS
Neko演算子なんてあるのねw
1-
あと 102 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.019s