Perl初心者スレ(マジレス回答) (523レス)
上下前次1-新
374: 2015/06/08(月)23:05 ID:fDJEyEgd(2/2) AAS
>>373
出来ました!ありがとうございます
今日かなり悩んでいました
おかげ様でスッキリしました
375: 2015/08/31(月)00:47 ID:xgd4PpfH(1) AAS
下のようにリストのリストを作成したいがcpanか何かで実現できないでしょうか?
> (list (list 1 2) (list 3 4))
((1 2) (3 4))
> (first (list (list 1 2) (list 3 4)))
(1 2)
> (second (list (list 1 2) (list 3 4)))
(3 4)
my @car = (1, 2);
my @cdr = (3, 4);
my @both = (@car, @cdr);
print "\@car is @car\n"; # -> @car is 1 2
print "\@cdr is @cdr\n"; # -> @cdr is 3 4
print "\@both is @both\n";# -> @both is 1 2 3 4
printf "%s\n" , $both[0]; # -> 1
printf "%s\n" , $both[1]; # -> 2
printf "%s\n" , $both[2]; # -> 3
printf "%s\n" , $both[3]; # -> 4
376: 2015/08/31(月)13:20 ID:Q0xjlAqa(1/2) AAS
Lisper な人?
多分、こういうことをお望みかな。
#!/usr/bin/perl
use Data::Dumper;
my @car = (1, 2);
my @cdr = (3, 4);
my @both = ( \@car, \@cdr);
print( Dumper( \@both));
377(1): 2015/08/31(月)13:31 ID:Q0xjlAqa(2/2) AAS
ごめん、アクセス方法も書かなきゃね。
#!/usr/bin/perl
my @car = (1, 2);
my @cdr = (3, 4);
my @both = ( \@car, \@cdr);
print("$both[0]->[0]\n");
print("$both[0]->[1]\n");
print("$both[1]->[0]\n");
print("$both[1]->[1]\n");
378: 2015/08/31(月)18:13 ID:zR+vvNwg(1) AAS
>>377
ありがとう perlのリファレンス表記がこの機会に少し分かりました
my @car = (1, 2);
my @cdr = (3, 4);
my @both = ( \@car, \@cdr);
print("$both[0]->[0]\n");
print("$both[0]->[1]\n");
print("$both[1]->[0]\n");
print("$both[1]->[1]\n");
print("@{$both[0]}\n");
print("@{$both[1]}\n");
379: 2016/01/10(日)13:19 ID:/ndDSiBm(1) AAS
971 名前:名無しさん@七周年[] 投稿日:2006/11/11(土) 00:56:10 ID:M8+ahUZV0
自称スーパープログラマー某
強烈加齢臭
メール見ない メール無視
ドキュメント見ない ドキュメント無視
説明聞かない 説明無視
話聞かない 話無視
ガム→むっちゃー むっちゃー むっちゃー むっちゃー
煎餅→バリバリバリバリバリバリ
菓子パン→モグモグモグモグモグモグモグモグモグモグ
カップアイス→むっちゃー むっちゃー ペロペロペロペロ
フロアすべてに響き渡る 超ばかでかいくしゃみ 当然手でおさえない
異音と異振動
ドスーン!ドスーン! ドカーン!ドカーン! バコーン!バコーン! ズドン!ズドン!
机が近いとマウスポインターが飛ぶ 誤操作誘発
書類だしたりしまうだけでドカンドカン
30秒ごとに口と鼻から異音
ふんっっ! ふんっっ!
備品破壊 貸与P C 破壊 他人のもの破壊
奴の作ったスクリプトとプログラムは使えない バグ製造機
電話や共有携帯電話 キーボードが油ベタベタ
奴に電話とPCとコンソールは触らせてはいけない
380(2): [age] 2016/11/02(水)10:11 ID:+6JfDybA(1/2) AAS
HTMLファイルの特定文字列を大文字から小文字へ置き換えたいです。
具体的には、name=
381: 380 2016/11/02(水)10:15 ID:+6JfDybA(2/2) AAS
あれ、途切れちゃったのでダブルクォートでおかしくなったので、無しで書きます。
HTMLファイルの特定文字列を大文字から小文字へ置き換えたいです。
具体的には、name=A10AB を name=a10ab とnameの部分のみ置き換えたいです。
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からはスカラーコンテキストのハッシュが返す値はハッシュの持つキーの数になるそうです
上下前次1-新書関写板覧索設栞歴
あと 120 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.008s