Perl初心者スレ(マジレス回答)
1 :デフォルトの名無しさん :2012/10/07(日) 00:48:39.00 .net どうぞー
2 :デフォルトの名無しさん :2012/10/07(日) 00:50:26.06 .net このスレッドは天才チンパンジー「アイちゃん」が 言語訓練のために立てたものです。 アイと研究員とのやり取りに利用するスレッドなので、 関係者以外は書きこまないで下さい。 京都大学霊長類研究所
3 :デフォルトの名無しさん :2012/10/07(日) 01:10:26.82 .net >>1 おつ! ありがとうございます
4 :デフォルトの名無しさん :2012/10/07(日) 01:46:15.82 .net マジレス? じゃあ遠慮なく >>1 板荒らすために立てたんじゃないならさっさと削除依頼しろクズ 本スレでさえ閑古鳥が鳴いてるのに次スレ立てるから荒らし予備軍の温床になってんだよ 今日の糞スレ乱立を見ればわかるだろ
5 :デフォルトの名無しさん :2012/10/07(日) 01:55:03.21 .net ■関連スレ 在日韓国人プログラミング http://toro.2ch.net/test/read.cgi/tech/1349527575/ チョッパリは謝罪しる! http://toro.2ch.net/test/read.cgi/tech/1349527506/ おちんちんを入れてください http://toro.2ch.net/test/read.cgi/tech/1349527445/ ほむらたんをあいしてる http://toro.2ch.net/test/read.cgi/tech/1349518465/ 我らPGにしてPGにあらず http://toro.2ch.net/test/read.cgi/tech/1349518997/ おちんちんを入れる http://toro.2ch.net/test/read.cgi/tech/1349518715/
6 :デフォルトの名無しさん :2012/10/07(日) 01:56:03.28 .net ■関連スレその2 カチャカチャPGの叫び http://toro.2ch.net/test/read.cgi/tech/1349518930/ プログラマー=キチガイ http://toro.2ch.net/test/read.cgi/tech/1349518840/ チンパンジーの舞 http://toro.2ch.net/test/read.cgi/tech/1349516893/ 今、ム板に必要なのはIDより板の設定変更 http://toro.2ch.net/test/read.cgi/tech/1349513203/ こんにちはみなさん。 http://toro.2ch.net/test/read.cgi/tech/1349503990/
7 :デフォルトの名無しさん :2012/10/07(日) 02:35:42.93 .net >>1 基地害乙
8 :デフォルトの名無しさん :2012/10/07(日) 10:56:38.94 .net 初心者なので CGI と Perl の区別がつかないこともあると思いますが、 どうぞ質問してください。 スレ違いの質問にはスルーか、速やかな誘導をお願いします。 回答者が現れるまで待ちましょう。 [プログラミング自体の経験が無いひとはまずココを読む] とほほのperl入門: ttp://www.tohoho-web.com/wwwperl.htm [厳選・オンラインドキュメント] perldoc.jp: ttp://perldoc.jp/ Perl メモ: ttp://www.din.or.jp/~ohzaki/perl.htm Perl のページ: ttp://homepage1.nifty.com/nomenclator/perl/ Perl の小技: ttp://homepage3.nifty.com/hippo2000/perltips/index.htm
9 :デフォルトの名無しさん :2012/10/07(日) 11:01:39.61 .net # [Perl 日本語処理の基礎の基礎] # まず、以下の行を先頭に入れて下さい。 use utf8; use open IO => ":encoding(cp932)"; binmode STDIN => ":encoding(cp932)"; binmode STDOUT => ":encoding(cp932)"; binmode STDERR => ":encoding(cp932)"; use Encode; # 以上の内容は、日本語処理が解らない人でも、とりあえず日本語処理ができてしまう # おまじないです。
10 :デフォルトの名無しさん :2012/10/07(日) 11:07:51.43 .net 上記の記述は1行で書くこともできます。 use encoding 'cp932'; # [Perl 日本語処理] 初心者にはこれが一番あってると思います。 徐々に経験を積んで、難しい記述にチャレンジしていきましょう。
11 :デフォルトの名無しさん :2012/10/07(日) 14:00:31.86 .net そもそもプログラム初心者にPerl選択などありえない
12 :デフォルトの名無しさん :2012/10/07(日) 17:42:36.30 .net 初めてのPerl第6版と赤らくだ本は分量的にも内容的にもほぼ同じだしな
13 :デフォルトの名無しさん :2012/10/07(日) 19:28:07.17 .net ここは本スレではありません。 こちらへどうぞ。 Perlについての質問箱 56箱目 http://toro.2ch.net/test/read.cgi/tech/1348141100/
14 :デフォルトの名無しさん :2012/10/07(日) 21:24:43.64 .net ↑ながらく機能していない上にCGIの質問をすると怒られます。 Perlの質問をするとPHPの回答が返ってきます。 それでも構わないなら、どうぞ。
15 :デフォルトの名無しさん :2012/10/07(日) 21:30:12.99 .net やっぱりPHPの方がいいんですかね。
16 :デフォルトの名無しさん :2012/10/07(日) 21:56:55.72 .net プログラム初心者じゃなくてPerl初心者な。PHPは卒業な。
17 :デフォルトの名無しさん :2012/10/07(日) 22:29:39.78 .net ■関連スレ おちんちんランド開園 http://toro.2ch.net/test/read.cgi/tech/1349453856/ ム板を荒らしている連中の正体 http://toro.2ch.net/test/read.cgi/tech/1349260204/ おちんちんを舐めよう http://toro.2ch.net/test/read.cgi/tech/1349454008/ ム板住民に言いたい1000のこと http://toro.2ch.net/test/read.cgi/tech/1349192669/ 低級言語のすばらしさ http://toro.2ch.net/test/read.cgi/tech/1349496941/ http://toro.2ch.net/test/read.cgi/tech/1349502749/ ム板の住民構成 http://toro.2ch.net/test/read.cgi/tech/1349453824/
18 :デフォルトの名無しさん :2012/10/07(日) 23:09:44.68 .net PHPでいう、in_arrayは Perlではなんて関数ですか?
19 :デフォルトの名無しさん :2012/10/07(日) 23:44:10.62 .net grepでいいんじゃないか?UNIXの文化な
20 :デフォルトの名無しさん :2012/10/07(日) 23:45:55.55 .net >>19 ありがとうございます。 それからもうひとつ、 array_uniqueに相当する関数はどれでしょうか?
21 :デフォルトの名無しさん :2012/10/08(月) 00:16:19.24 .net ハッシュのキーにして、最後にキーを取り出す
22 :デフォルトの名無しさん :2012/10/08(月) 00:29:08.71 .net my %uniq = map { $_ => 1 } @array; my @array_uniq = keys %uniq;
23 :デフォルトの名無しさん :2012/10/08(月) 00:37:42.34 .net 長いな。
24 :デフォルトの名無しさん :2012/10/08(月) 01:25:04.19 .net 初心者に変なもん奨めるんじゃないぞ
25 :デフォルトの名無しさん :2012/10/08(月) 01:37:02.22 .net %u = map {$_,1} @a; @u = keys %u; #チヂメテミタ
26 :デフォルトの名無しさん :2012/10/08(月) 10:06:15.64 .net my @array_unique = keys %{{map {$_,1} @array}}; perl 5.14 以降なら my @array_unique = keys {map {$_,1} @array};
27 :デフォルトの名無しさん :2012/10/08(月) 11:07:41.23 .net ひと頃List::Utilが湧いたのはPHPとの比較が原因か
28 :デフォルトの名無しさん :2012/10/08(月) 13:27:23.56 .net >>26 なんかバッドノウハウ臭が強いな。
29 :デフォルトの名無しさん :2012/10/08(月) 14:21:09.99 .net んなこたあない。
30 :デフォルトの名無しさん :2012/10/08(月) 14:24:32.17 .net ここでList::Utilを持ち出し、直後からスレが荒れるのが定番。
31 :デフォルトの名無しさん :2012/10/08(月) 14:31:44.97 .net あるサイトにアクセスして数値を取得してreturn $num;で値を返す関数を作ったとします get_num(); my $num=200 while(1) { if(new_num() >=$num) { okと表示 } } okがうまく表示されません 毎回get_numでサイトにアクセスして取得しているというのが悪いんでしょうか?原因がわかりません教えてください
32 :31 :2012/10/08(月) 14:33:07.32 .net new_num()で取得した値は $numより大きいです 大きいのになぜか比較されずにスルーで何も表示されずループです
33 :デフォルトの名無しさん :2012/10/08(月) 14:39:56.54 .net >あるサイトにアクセスして数値を取得してreturn $num;で値を返す関数を作ったとします ↑これは get_num() のことですか?new_num() のことですか? get_num() は return $num; しないんですか?戻ってきた値は使わないんですか? >毎回get_numでサイトにアクセスして ↑ get_num() は while の中にありませんが、この外にループがあるんですか?
34 :デフォルトの名無しさん :2012/10/08(月) 14:43:57.35 .net use strict; 落ちか 腕を上げたようだな、モダンPerl。
35 :Perl忍者 ◆M5ZWRnXOj6 :2012/10/08(月) 14:44:44.21 .net >>31 $|=1; それかprint "ok\n"; 改行いれとけ
36 :デフォルトの名無しさん :2012/10/08(月) 14:46:12.89 .net 改行入れてもループは終わらんだろw
37 :デフォルトの名無しさん :2012/10/08(月) 15:14:18.81 .net >>31 マジレスすると お前みたいな低脳には無理
38 :デフォルトの名無しさん :2012/10/08(月) 15:34:01.73 .net 荒らしの連立てしたスレを伸ばそうとしてる>>31 は荒らし 消えろやゴミが
39 :デフォルトの名無しさん :2012/10/08(月) 15:43:26.69 .net >>37 =>>38
40 :デフォルトの名無しさん :2012/10/08(月) 16:04:33.60 .net >>37 =>>38 =>>39
41 :デフォルトの名無しさん :2012/10/08(月) 16:16:12.31 .net >>31 =>>39
42 :デフォルトの名無しさん :2012/10/08(月) 17:19:35.10 .net $|=1; my $num=200; ←セミコロン忘れるな while(1){ if(get_num() >= $num){ ← get_num()、な print "ok\n"; ← うるせぇやつがいるから改行、な last; ← これなけりゃ無限ループだわな } sleep(60); ← Web にアクセスするなら忘れるんじゃねぇぞ }
43 :デフォルトの名無しさん :2012/10/08(月) 18:01:11.94 .net なんで>>31 みたいなカスがプログラミングなんかに手を出したのか疑問。
44 :デフォルトの名無しさん :2012/10/08(月) 18:06:38.78 .net >>43 そんなのが疑問になるのは お前が馬鹿だからじゃないだろうか。
45 :デフォルトの名無しさん :2012/10/08(月) 18:11:25.50 .net >>43 =>>44 =>>37 =>>38
46 :デフォルトの名無しさん :2012/10/08(月) 18:20:57.42 .net >>43 =>>44 =>>37 =>>38 =>>31 =>>45
47 :デフォルトの名無しさん :2012/10/08(月) 18:46:17.85 .net 文字列 $str の末尾の「.cpp」を「.o」に置換し新たな文字列 $new_str を生成したいのですが s/// だと元文字列を書き換えてしまいます コピーしてから置換でも良いのですが、書き換えずに置換する関数や演算子はないでしょうか?
48 :デフォルトの名無しさん :2012/10/08(月) 19:10:50.54 .net >>47 寝言は寝て言えキチガイ
49 :デフォルトの名無しさん :2012/10/08(月) 19:13:40.44 .net >>44 =>>48
50 :デフォルトの名無しさん :2012/10/08(月) 19:24:24.71 .net >>47 のような害虫はム板から駆除しなければならない。
51 :デフォルトの名無しさん :2012/10/08(月) 19:35:47.99 .net >>47 s/// に /r を指定するとよろし
52 :デフォルトの名無しさん :2012/10/08(月) 19:47:46.05 .net >>47 演算子一覧くらい検索すればいくらでも出てくるだろ それすら検索できないって本物の精神異常?
53 :デフォルトの名無しさん :2012/10/08(月) 19:56:47.23 .net >>47 はプログラミングに向いてない。
54 :デフォルトの名無しさん :2012/10/08(月) 20:15:10.88 .net 煽り叩きに加えて今度はイコール厨まで参戦ですか ほんとスレの空気を悪くすることに関しては息ぴったりですねお前ら
55 :デフォルトの名無しさん :2012/10/08(月) 20:23:58.30 .net このスレは>>31 >>47 叩き基地害イコール厨等まともじゃない奴らの隔離スレだからな。
56 :デフォルトの名無しさん :2012/10/08(月) 20:35:31.31 .net >>51 ありがとうございました 手元の資料に無かったので調べたら割と最近の仕様みたいですね
57 :デフォルトの名無しさん :2012/10/08(月) 20:43:06.24 .net >>56 いいから二度と来るなよ
58 :デフォルトの名無しさん :2012/10/08(月) 20:48:41.51 .net >>57 さっさと初心者を卒業しろよってことかな? 出所者を見送る看守のようだ。
59 :デフォルトの名無しさん :2012/10/08(月) 20:49:06.45 .net >>57 来ちゃいました テヘペロ♪
60 :デフォルトの名無しさん :2012/10/08(月) 22:37:14.94 .net >>47 はマジでクズ 2chを代理検索か何かと勘違いしてないか?
61 :デフォルトの名無しさん :2012/10/08(月) 22:47:29.05 .net 質問してこういう扱いうけて荒らしてるのかこの粘着くんはw
62 :31 :2012/10/08(月) 23:31:22.78 .net >>35 うまく出力されました $|=1;とは何ですか? 改行の理由も教えてください >>42 $|=1;をつける理由は? lastだとループが終わってしまうので
63 :デフォルトの名無しさん :2012/10/08(月) 23:37:12.37 .net >>32 >大きいのになぜか比較されずにスルーで何も表示されずループです ループして困っているのか、ループしたいのか質問をはっきりしろ
64 :デフォルトの名無しさん :2012/10/08(月) 23:46:28.06 .net >書き換えずに置換する 何をしたいのか
65 :デフォルトの名無しさん :2012/10/08(月) 23:58:56.98 .net こういう糞みたいな質問してる連中がム板のレベルを下げてる
66 :デフォルトの名無しさん :2012/10/09(火) 01:13:51.30 .net 馬鹿の>>63-64 が釣れたwww マジ釣り掘りwwwww
67 :デフォルトの名無しさん :2012/10/09(火) 03:50:12.06 .net >>61 荒らしは質問すらしてないよ。 質問者になりすましての煽りは入れてるが。
68 :デフォルトの名無しさん :2012/10/09(火) 11:14:53.75 .net 何で分かるの? あ、ご本人様ですか。 荒らしもやりながらこんな場末の糞スレチェックまでご苦労様です。
69 :デフォルトの名無しさん :2012/10/09(火) 13:42:01.38 .net プロキシのレスポンスタイム計るにはどうするの? 教えてくれ 6.5s 5,8sとかあるだろ?あれ
70 :デフォルトの名無しさん :2012/10/09(火) 14:26:59.97 .net それはPerl限定の話でもなさそうだし、流石にWebProg板で聞いてくれ
71 :デフォルトの名無しさん :2012/10/09(火) 16:16:14.44 .net PHPでいうマジッククォートみたいなのない? sjisで送信するとき表とかがエスケープされずにエラーでちゃうんだけど 自動でエスケープしてくれる関数みたいなの無いの? 教えてください
72 :デフォルトの名無しさん :2012/10/09(火) 16:57:01.82 .net 自分で調べられないお前にはPHPがお似合いだ
73 :デフォルトの名無しさん :2012/10/09(火) 17:05:55.35 .net >>71 ふたつのことを混同してしまってると思われる 「Perl XSS対策」「Perl Unicode」でそれぞれググれ そして前者(XSS)にに関しては今後はWebProgへどうぞ
74 :デフォルトの名無しさん :2012/10/09(火) 17:13:03.31 .net >>71 =基地害
75 :Perl忍者 ◆M5ZWRnXOj6 :2012/10/09(火) 17:33:58.22 .net >>71 Sjisいれろ http://search.cpan.org/~ina/Char-Sjis/
76 :デフォルトの名無しさん :2012/10/09(火) 17:49:33.02 .net >>72-74 追い出すなって。 ここは>>71 みたいな社会のゴミ用隔離スレなんだからさ。
77 :デフォルトの名無しさん :2012/10/09(火) 20:44:10.43 .net PHPのマジッククォートとSjisっておんなじものなのか? 微妙にやること違うと思うぞw
78 :デフォルトの名無しさん :2012/10/09(火) 22:09:35.85 .net 初心者でUnicodeはきついかもな ごちゃごちゃしてて何がなんだかさっぱり分かんない 初心者にはshiftjisがいい
79 :デフォルトの名無しさん :2012/10/10(水) 00:13:36.93 .net Perlスレの頭にUnicode絡みのテンプレなかったっけ
80 :デフォルトの名無しさん :2012/10/12(金) 00:36:02.70 .net require 'jcode.pl'; だっけ?
81 :デフォルトの名無しさん :2012/10/12(金) 01:02:04.55 .net >>80 確信ないなら書くなゴミ さっさと失せろキメェんだよ
82 :デフォルトの名無しさん :2012/10/12(金) 01:03:01.58 .net >>9 「use Encode; 」
83 :デフォルトの名無しさん :2012/10/12(金) 01:38:15.26 .net それ言うなら use utf8; だろ EncodeはUnicode以外だって扱えるんだから でも牙が伸び過ぎると自滅してしまうこともある ttp://blog.nakatanigo.net/archives/50474313.html
84 :デフォルトの名無しさん :2012/10/12(金) 02:28:37.13 .net >>80 は頭がおかしい。
85 :デフォルトの名無しさん :2012/10/12(金) 02:37:31.52 .net >>82 ありがとうそこにあったのか
86 :デフォルトの名無しさん :2012/10/12(金) 03:28:56.95 .net >>80 もう来なくてもいいよ
87 :デフォルトの名無しさん :2012/10/12(金) 12:02:40.96 .net >>80 =ゴミクズ
88 :デフォルトの名無しさん :2012/10/12(金) 15:53:07.74 .net いつもの基地外は本スレに行けよ
89 :デフォルトの名無しさん :2012/10/12(金) 18:49:11.85 .net ↑はい、いつものキチガイ入りましたー
90 :デフォルトの名無しさん :2012/10/12(金) 21:16:15.75 .net 88はいつもただの質問者を荒し扱いしたりしてる奴だろう、放置よろ。
91 :デフォルトの名無しさん :2012/10/28(日) 18:01:11.94 .net >>80 それです。サンクスダアイナ
92 :デフォルトの名無しさん :2012/10/28(日) 20:13:19.68 .net 初心者の彼女がjacode.pl使ってて時代の変化を感じた
93 :デフォルトの名無しさん :2012/10/31(水) 00:29:58.66 .net いつまでもEncodeでエンコしててもしょうがないしな
94 :デフォルトの名無しさん :2012/11/06(火) 01:38:15.62 .net ttp://kotobank.jp/word/えんこ
95 :デフォルトの名無しさん :2012/11/12(月) 19:41:16.44 .net ActivePerl5.16.1使用中です。 --- print DAT @dat; --- このようにして配列を書き出そうとしたのですが なぜかテキストファイルに繁栄されません。 何か情報をご存知の方いらっしゃいませんか?
96 :デフォルトの名無しさん :2012/11/13(火) 05:02:27.13 .net ファイルハンドルであろうDATのopen文はいかに
97 :デフォルトの名無しさん :2012/11/13(火) 22:13:06.51 .net 以下の一行スクリプトに文字を食わせて「XX月◯◯日のお知らせ!」の次の行から「-----」の前までを取り出そうとしています。 最期のs/^ +//は各行の先頭の全角の空白を取ろうとしたのですが、これが働きません。が、抜き取り自体は成功していました。 逆に、use utf8とすると/正規表現/が全くひっかかりらず何もprintされません。 perl -e ' #use utf8; while (<>) { if (/\d+月\d+日のお知らせ!/) { last; }; #skip the line; }; while (<>) { if (/-----/) { last; }; s/^\s+//; s/^ +//; print; }'
98 :デフォルトの名無しさん :2012/11/13(火) 22:28:35.29 .net perl -e ' use utf8; while (<>) { if (/\d+月\d+日のお知らせ!/) { last; }; #skip the line; }; while (<>) { if (/-----/) { last; }; s/^\s+//; { no utf8; s/^(?: )+//; } print; }'
99 :デフォルトの名無しさん :2012/11/16(金) 00:37:30.32 .net どうもです。 状況なのですが、use utf8すると全くおかしいです。/\d+月… /のマッチが全く成功しないので、 目的通りの結果が出ません。uset utf8しないとうまく動きます。 実はMacのautomatorから呼び出されていてGet text from Webpage actionでとってきたテキストが このperlに渡されているのですが…UTF-8の文字が来ているはずなのですが(指定のWebページのcharsetはUTF8)。 それはさておき ( ) / (?: ) の指摘ありがとうございました。上の行のs/^\s+//;と合わせて s/^(?:\h| |\xc2\xa0)+//; に書き換えました。 non breakable spaceも行頭に混じっていたので、そのUTF8表現のU+c2a0も追加。 これできれいに行頭の「空白」がとれて左詰めになりました。 とりあえずuse utf8;だけ殺して一見うまく動いているのでそれで利用を開始しました。 個人の趣味の自動化目的なのでそんな感じでまずはゴーしてしまいます。
100 :デフォルトの名無しさん :2012/11/16(金) 00:44:04.42 .net utf8プラグマは作ったひとは使うのが簡単だと考えているんだろうけど、 使うひとにとっては非常に難しい。こういった処理モデルを理解しろと いうほうに無理がある。結論としてはutf8プラグマは使わないほうが よい。
101 :デフォルトの名無しさん :2012/11/16(金) 14:34:35.11 .net もう省略の美学とか無くていいから(涙) ぜんぜん意味がわからない たすけて
102 :デフォルトの名無しさん :2012/11/16(金) 21:20:57.16 .net utf8にはまるのは日本固有らしい。海外では当初から見切りをつけていて 使われることはない。
103 :デフォルトの名無しさん :2012/11/17(土) 00:49:53.31 .net この方法で重複を削除した場合 リストの順番は変更されますか。 それとも、重複が削除されるだけで、 順番はそのままですか。 my %hash = (); foreach (@list) { $hash{$_}++; } my @unique = keys %hash; print @unique; ご教示ください。
104 :デフォルトの名無しさん :2012/11/17(土) 01:33:36.49 .net The keys of a hash are returned in an apparently random order. ハッシュのキーはランダムな順番で返されます(適当訳) http://perldoc.perl.org/functions/keys.html
105 :デフォルトの名無しさん :2012/11/17(土) 01:55:32.07 .net ゲーッ ありがとうございました・・・
106 :デフォルトの名無しさん :2012/11/17(土) 17:04:11.19 .net フリーソフトの利用は自己責任。 utf8作ったひとが助けてくれるわけじゃない。 自分の理解できる範囲内で使えってこった。
107 :デフォルトの名無しさん :2013/01/03(木) 08:49:11.83 .net 文字コードとしてのUTF-8を理解してもutf8プラグマの挙動は別物 オレオレ実装むき出しの仕様で理解できず使いづらい そこで省略の美学になる
108 :デフォルトの名無しさん :2013/01/03(木) 09:02:50.69 .net 至らない実装は利用者が補えるが、オレオレ仕様は直せない、か
109 :デフォルトの名無しさん :2013/01/05(土) 20:10:35.16 .net 2chのソースコード読みたい どっかに落ちてないかな?
110 :デフォルトの名無しさん :2013/01/06(日) 06:16:44.13 .net クレクレ厨か糞がキメェんだよ
111 :デフォルトの名無しさん :2013/01/07(月) 23:54:06.18 .net KENT本の中に似た外見のBBSってなかったっけ?
112 :デフォルトの名無しさん :2013/01/08(火) 01:05:42.37 .net 「?」じゃねーだろ確認して書き込めやゴミが
113 :デフォルトの名無しさん :2013/01/08(火) 01:51:30.58 .net >>112 おまえ、うるさい!!
114 :デフォルトの名無しさん :2013/01/08(火) 05:40:51.47 .net >>112 糞スレ乱立してた基地害が立てたスレの一つで何言ってんの? ここは落書き帳だよ?
115 :デフォルトの名無しさん :2013/01/09(水) 00:11:00.04 .net www.kent-web.com/bbs/ 「2ch風」のマルチスレッド式掲示板です。トリップ機能、age/sage機能、 ID表示機能などが可能です。また表示部分をテンプレートファイルとし、 ユーザサイドでのレイアウト改造やデザイ改造が容易です。
116 :デフォルトの名無しさん :2013/01/09(水) 17:34:57.36 .net サイトの宣伝乙
117 :デフォルトの名無しさん :2013/01/10(木) 16:07:28.37 .net >>115 宣伝ウザい
118 :デフォルトの名無しさん :2013/01/11(金) 05:12:28.86 .net >>115 こんなところに来てまでステマとかマジで気持ち悪いよお前 アタマおかしいんじゃねーの
119 :デフォルトの名無しさん :2013/01/12(土) 01:08:29.34 .net >>109 に回答するのが初心者スレのみっちょんだから
120 :デフォルトの名無しさん :2013/01/12(土) 03:52:42.37 .net CGIの紹介はスレ違い 本当にここには基地害しか残ってないんだな
121 :デフォルトの名無しさん :2013/01/12(土) 10:20:36.14 .net >>120 残って? スレ間違えてますよ
122 :デフォルトの名無しさん :2013/01/12(土) 17:34:17.42 .net >>120 お前、CGI知らないのか? Common Gateway Interface(コモン・ゲートウェイ・インタフェース、 CGI)は、ウェブサーバ上でユーザプログラムを動作させるための仕組み。 件の掲示板を実現しているプログラムはPerlスクリプトだぞ? CGIとPerlスクリプトの違いも分からないのか?
123 :デフォルトの名無しさん :2013/01/12(土) 19:33:15.48 .net >>122 の言ってることは分かるがなぜここでそれを言うのか分からない。
124 :デフォルトの名無しさん :2013/01/12(土) 19:43:06.23 .net ここはゴミの隔離スレだからね
125 :デフォルトの名無しさん :2013/01/12(土) 21:38:40.14 .net >>123 落書き帳と同じだから必ずしも会話が成立してる必要はないんだよ 発作的に書きたくなった内容を書き殴ればいい このスレにいるのは心を病んでる奴がほとんどだからまともに相手してるとこっちまで病むぞ
126 :デフォルトの名無しさん :2013/01/13(日) 23:14:20.80 .net >>120 ばかだな、お前以外におれがいることを忘れているぞ
127 :デフォルトの名無しさん :2013/01/19(土) 03:12:42.05 .net アルパカ本ってどうよ? リャマ本ほど人気ないみたいだけど
128 :デフォルトの名無しさん :2013/01/19(土) 23:32:55.48 .net リャマ本をこなしてアルパカ本に進むわけだから当然脱落者がいるわな リャマ本⇒らくだ本⇒アルパカ本
129 :デフォルトの名無しさん :2013/01/20(日) 00:04:13.22 .net >>128 え? らくだ本が間に入る? あれは上級者向きの本だお
130 :デフォルトの名無しさん :2013/01/20(日) 04:06:34.04 .net うるさいゴミ お前が勝手に勘違いしてるだけだクズ キメェから勘違い野郎は書き込むな
131 :デフォルトの名無しさん :2013/01/20(日) 05:48:09.14 .net はたして>>124 と>>130 のどちらが正しいのか
132 :デフォルトの名無しさん :2013/01/20(日) 08:48:48.95 .net このスレ、気持ち悪いな Perl使いにも、>>130 みたいな気持ち悪い奴が多いから納得
133 :デフォルトの名無しさん :2013/01/20(日) 09:24:26.74 .net 荒らしが立てたスレだしな。 本スレはこっち。 Perlについての質問箱 57箱目 http://toro.2ch.net/test/read.cgi/tech/1353805857/
134 :デフォルトの名無しさん :2013/01/20(日) 13:19:52.11 .net そもそも今のム板にPerlスレ立てること自体荒らし行為
135 :デフォルトの名無しさん :2013/01/20(日) 14:10:46.15 .net WEBプログラミング@2ch掲示板でも荒らされてるぞ 3 名前:nobodyさん 投稿日:2013/01/19(土) 02:52:02.33 ID:??? カップ麺スレ増殖中・・・ 4 名前:nobodyさん 投稿日:2013/01/19(土) 03:47:52.32 ID:??? とんこつ系のインスタント麺で一番旨いのってどれだろう? あのカップに入ってるちょっと高めのやつって実は値段ほど美味しくない http://kohada.2ch.net/test/read.cgi/php/1358518487/3-4 Perlコーディング初心者質問スレ Part 67
136 :デフォルトの名無しさん :2013/01/20(日) 14:12:27.88 .net WEBプログラミング@2ch掲示板でも荒らされてる 3 名前:nobodyさん 投稿日:2013/01/17(木) 04:27:37.19 ID:??? またラーメンスレかw 5 名前:nobodyさん 投稿日:2013/01/18(金) 23:16:14.71 ID:??? >>4 どうせ暇でしょ? 全てのスレを食べ物の話題で 埋めたらいいやん? http://kohada.2ch.net/test/read.cgi/php/1358342748/3-5 Perlコーディング初心者質問スレ Part 66
137 :デフォルトの名無しさん :2013/01/20(日) 14:13:55.60 .net WEBプログラミング@2ch掲示板でも 4 名前:nobodyさん 投稿日:2013/01/16(水) 03:05:27.12 ID:??? カップ麺スレ 5 名前:nobodyさん 投稿日:2013/01/16(水) 04:54:54.33 ID:??? <前スレで出た話題> カップラーメン カップ焼きそば ユーリンチー カレー 水分の多い食品に揚げ物を入れる件 くずもち その他詳細などについては>>1 のリンクを参照 6 名前:nobodyさん 投稿日:2013/01/16(水) 20:45:34.73 ID:??? 高級な料理や食品に関しての話題が出ないわけだがw http://kohada.2ch.net/test/read.cgi/php/1358196208/4-6 Perlコーディング初心者質問スレ Part 65
138 :デフォルトの名無しさん :2013/01/20(日) 14:17:41.02 .net WEBプログラミング@2ch掲示板で 631 名前:nobodyさん 投稿日:2013/01/14(月) 19:39:50.81 ID:??? >>627 ちゃんとしたワンタンを加えるともっと旨くなるぞ 632 名前:nobodyさん 投稿日:2013/01/14(月) 23:23:04.38 ID:??? 餃子とかでいいんじゃね 633 名前:nobodyさん 投稿日:2013/01/14(月) 23:42:44.97 ID:??? ラーメン屋のラーメンに入ってるチャーシューとスーパーで売ってるチャーシューって全然違うよな。 スーパーで買ってきたチャーシューってハムとラーメン屋のチャーシューの中間っぽい。 スーパーで普通のチャーシューも売って欲しいわ。 634 名前:nobodyさん 投稿日:2013/01/15(火) 17:00:15.77 ID:+UlCw0lP お前らってラーメン+ライスとかいける派? 俺はとんこつラーメンに限りいける 635 名前:nobodyさん 投稿日:2013/01/18(金) 19:15:41.39 ID:??? お好み焼きをおかずにご飯を食べる人種もいるらしい。 http://kohada.2ch.net/test/read.cgi/php/1343668425/631-635 Perlコーディング初心者質問スレ Part 64
139 :デフォルトの名無しさん :2013/01/20(日) 21:56:15.25 .net Perl自体がオワコンなのにスレを立てることが間違ってる。 特に新しくPerlを学ぼうなんて正気の沙汰じゃないんだから初心者スレは不要。 せいぜい昔のPerlで作られたシステムの保守をやらされてるSE土方が情報交換するくらいだろ。
140 :デフォルトの名無しさん :2013/01/21(月) 00:12:29.99 .net 昔のPerlも覚えられず、かといって新しいPerlも覚えられない。 悔しいんですね?分かります。
141 :デフォルトの名無しさん :2013/01/22(火) 06:03:34.12 .net あのぷっくりサスペンダーのおじさんもオワコンなの?最近見ないけど
142 :デフォルトの名無しさん :2013/01/22(火) 07:05:37.78 .net Perl最強
143 :デフォルトの名無しさん :2013/01/22(火) 21:07:00.40 .net 荒らしが立てたスレ
144 :デフォルトの名無しさん :2013/01/22(火) 23:00:03.67 .net 古いPerlだと新しいソフトが書けないと考えるひとがいるようですね。 たいした仕事できなさそう。
145 :デフォルトの名無しさん :2013/01/23(水) 01:43:22.70 .net どっちにしてもPerlはオワコン PHPがここまで進化しちゃうとPerlの存在価値はどこにあるんでちゅかねーw
146 :デフォルトの名無しさん :2013/01/23(水) 01:52:30.08 .net >>145 ワンライナー
147 :デフォルトの名無しさん :2013/01/23(水) 04:53:44.35 .net ごった煮の点で、PHPもPerlににている → Perlとおなじような運命だろう
148 :デフォルトの名無しさん :2013/01/23(水) 05:58:31.38 .net PHPっていうとWebアプリしか書けないイメージがある PerlはC言語/シェルスクリプトが担っていた分野をカバーしているので 今後も使われていくだろう Perlがオワコン説は単に初心者プログラマの脱落を意味しているだけで もともと使っていたシステム管理者らが使うのをやめることはない
149 :デフォルトの名無しさん :2013/01/24(木) 17:21:48.69 .net PerlっていうとWebアプリしか書けないイメージがある PHPは当初よりかなり進化しているので 今後も使われていくだろう Perlがオワコン説は初心者プログラマがPerlを選らばないとう現実を意味しているから もともと使っていた老害が使い続けるだけという結末になる
150 :デフォルトの名無しさん :2013/01/24(木) 21:48:04.27 .net PerlもPHPもどちらも書いてると、PHPの方がクソだと思えてくる。
151 :デフォルトの名無しさん :2013/01/25(金) 00:32:34.81 .net Perlっていうとぷっくりサスペンダーのおじさんのイメージがある ときどきアニメを例えに使うあのなぞなぞ好きなおじさんだ 甲高い声が人気なので今後も使われていくだろう Perlがオワコン説はWindowsユーザがPerlを選ばなくなったとう現実を意味しているから もともと使っていたJperlを使い続けるしかないということになる
152 :デフォルトの名無しさん :2013/01/27(日) 11:34:47.69 .net perlからC言語で作った実行ファイルを実行するときC言語のソースが printf("A"); scanf(); ---Bを入力 printf("C"); のときにこの実行ファイル実行結果ををperlで受け取るときperl側で ACとなってしまいます。 これを AB C として受け取りたいのですがどうすればいいでしょうか?
153 :デフォルトの名無しさん :2013/01/27(日) 13:15:02.04 .net >>152 scanf()で受け取った文字列をprintf()してはダメなの?
154 :デフォルトの名無しさん :2013/01/27(日) 13:42:25.19 .net >>152 自分で調べろよゴミが そもそもここはスレ立て荒らしが立てたスレだ
155 :デフォルトの名無しさん :2013/01/27(日) 14:22:43.67 .net >>152 お前みたいな馬鹿にプログラム組んでもらわなくても誰も困らないからさっさと回線切れ。
156 :デフォルトの名無しさん :2013/01/27(日) 23:46:32.04 .net なんで自分で調べられないん?
157 :デフォルトの名無しさん :2013/01/28(月) 11:00:02.92 .net >>152 基礎もできてないゴミの癖にうざい
158 :デフォルトの名無しさん :2013/01/29(火) 21:18:44.13 .net futomi's CGI Cafeの「清き一票!(投票CGI)」というフリーのCGIを元に投票項目を増やしたいのですが、HTMLの方で増やしたname属性をCGIの方に反映させる方法がわかりません。 もう2週間ほどPerlについて書いてあるページを調べ回りながら試行錯誤を繰り返しているのですが、どこをどういじればいいのかよくわかりません... ヒントだけでもいいので教えてください。お願いします。
159 :デフォルトの名無しさん :2013/01/29(火) 21:29:31.69 .net 何で作った奴にきかずに赤の他人にきいてんだ? しかもタダで教えろとか本当にゴミだなお前。 回線切れ乞食。
160 :デフォルトの名無しさん :2013/01/29(火) 21:37:22.44 .net >>159 すみません。 2004年に配布されたもので結構昔のものなので製作者様の方に教えてもらうことができなくて、ここなら何かヒントになることだけでも教えていただけると思ったので...
161 :デフォルトの名無しさん :2013/01/29(火) 22:19:55.44 .net >>160 Perlを最初から勉強すればすむ話だろゴミ それにそれが情報乞食をする理由になるの? 本当に乞食じゃねぇのこいつ
162 :デフォルトの名無しさん :2013/01/29(火) 22:30:06.20 .net >>160 Perlを使いこなすために書籍に何万と投資をし、書籍を読んだりコードを書いたりするのに何年と時間を投資し、 そうやって身に付けたものをお前みたいなクズにタダで使う理由は?
163 :デフォルトの名無しさん :2013/01/30(水) 01:17:52.20 .net 投票項目の多いCGIプログラムを入手するのが目的なのか、Perlのスキルを 高めたいのかどっちなんだ?
164 :デフォルトの名無しさん :2013/01/30(水) 01:24:07.81 .net READMEに全部書いてあったわ、ネタか
165 :158 :2013/01/30(水) 02:59:15.11 .net 思ったほど釣れなかった
166 :デフォルトの名無しさん :2013/01/31(木) 19:36:40.96 .net いつものキチガイしかいないしな
167 :デフォルトの名無しさん :2013/01/31(木) 23:38:52.70 .net Perlの本質
168 :デフォルトの名無しさん :2013/02/03(日) 23:45:45.37 .net モダンPerlの本質、な。そこ混同しないように。
169 :デフォルトの名無しさん :2013/03/01(金) 00:35:14.22 .net モダンPerlを勧めるひとは熱心なあまりキチガイみたいに見えてしまうってこと? でも本来のキチガイとは違って、モダンPerlやめれば症状が改善されるんだよね?
170 :デフォルトの名無しさん :2013/03/01(金) 04:28:53.25 .net >>169 ゴミは黙ってろ
171 :デフォルトの名無しさん :2013/03/02(土) 01:42:04.04 .net 改善された例を見たことがない。キチガイは自滅してオワコンだ。
172 :デフォルトの名無しさん :2013/03/06(水) 14:29:08.45 .net 俺は間違っちゃいない!世界が間違ってるんだ! 永遠に叫び続ければいいよ。
173 :デフォルトの名無しさん :2013/12/27(金) 05:55:34.37 .net perl覚えたけど使い道が無い
174 :デフォルトの名無しさん :2013/12/30(月) 19:13:23.07 .net Sublime2 TextからPerl実行出来るようにしてるが頗る便利 テキストの処理がいつでも出来る それとフォルダ毎にzip圧縮するときなんかに使ってるわ D&Dするようなアプリだとフォルダまとめて圧縮しちまうからな
175 :デフォルトの名無しさん :2014/01/18(土) 19:07:08.88 .net print は引数を省略できるけど、 join は引数を省略できない どの関数は どの引数を省略できるのか 省略した時はなにがあてはまるのか の標準関数の分の一覧ってある?
176 :デフォルトの名無しさん :2014/01/25(土) 08:40:46.49 .net ぬおおperldoc.jpさんありがとおおお!!
177 :デフォルトの名無しさん :2014/01/25(土) 14:34:38.45 .net プログラミングPerl 改訂版 ママゾンだと1円です
178 :デフォルトの名無しさん :2014/01/25(土) 20:50:09.90 .net >>176 Twitterでやれ低知能
179 :デフォルトの名無しさん :2014/02/02(日) 03:06:31.84 .net 標準出力を乗っ取る機能ある? 普通にprintしてもフィアルに書き出すみたいなやつ
180 :デフォルトの名無しさん :2014/02/02(日) 03:11:10.25 .net >>179 それって普通リダイレクトでやるもんじゃないの? そもそも標準出力=「画面とは限らない」ものなんだから
181 :デフォルトの名無しさん :2014/02/02(日) 03:20:11.89 .net そもそもフィアルってなんだ? 異次元デバイス?
182 :デフォルトの名無しさん :2014/02/02(日) 07:25:47.08 .net >>179 あるよ
183 :デフォルトの名無しさん :2014/02/02(日) 14:32:34.15 .net 質問かと思ったらただの精神異常だった件。
184 :デフォルトの名無しさん :2014/02/02(日) 19:33:16.71 .net >>179 ttp://perldoc.jp/func/select
185 :179 :2014/02/02(日) 20:46:01.69 .net >>182 ありがとう STDOUTだったわ
186 :デフォルトの名無しさん :2014/02/03(月) 00:53:32.45 .net >>185 二度と来るな
187 :デフォルトの名無しさん :2014/02/13(木) 00:44:22.79 .net ただの不備を精神異常とか二度と来るなとか罵るのもどうなのよ だから過疎ってんだよ
188 :デフォルトの名無しさん :2014/02/13(木) 01:00:25.87 .net という精神異常者の意見。
189 :デフォルトの名無しさん :2014/02/13(木) 06:54:32.76 .net >>187 Perl関連スレ、何故か荒らしが住み着いてるからなあ
190 :デフォルトの名無しさん :2014/02/15(土) 03:29:16.57 .net 自分が昔書いたプログラムの a{\%$b}=c の意味がわかりません
191 :デフォルトの名無しさん :2014/02/15(土) 03:31:13.19 .net 失礼しました正確には $self->{a}{\%$b}=$c でした。助けてください。
192 :デフォルトの名無しさん :2014/02/15(土) 04:51:13.29 .net >>190-191 マジレススレだからマジレスすると、書き込み前の確認すらできないほど頭の悪い奴にプログラミングは向いてない。 早く回線切れ。
193 :デフォルトの名無しさん :2014/02/15(土) 06:01:06.70 .net ごみがまたパールの保守性の低さを証明してくれましたw PHPだとこういった事態の発生する可能性がパールより低い 保守性を考えるならPHP
194 :デフォルトの名無しさん :2014/02/15(土) 11:17:17.47 .net >>190 ウザい
195 :デフォルトの名無しさん :2014/02/15(土) 13:45:31.98 .net Perlの場合は、保守性を考えると非・オブジェクト指向のほうがいいよ $self->{a}{\%$b}=$c は分かりやすくすると $self->{'a'}->{$b} = $c になる ただ $b は本当にハッシュのリファレンスなの?
196 :デフォルトの名無しさん :2014/02/15(土) 13:54:50.01 .net 質問に質問で返す愚図
197 :デフォルトの名無しさん :2014/02/15(土) 14:05:22.33 .net >>195 はコードも読めないのに住み着いてるのか・・・
198 :デフォルトの名無しさん :2014/02/15(土) 14:22:08.60 .net あ、>>195 であってたw、俺が読めてなかった、ごめんw
199 :デフォルトの名無しさん :2014/02/15(土) 14:42:56.54 .net 最近はこういう有象無象しかいないの?
200 :デフォルトの名無しさん :2014/02/15(土) 14:53:47.23 .net >>195 を貶めてる奴らも 回答できてない時点で同レベル
201 :デフォルトの名無しさん :2014/02/15(土) 14:56:05.17 .net Perlなんか使ってる時点でw ☆統計開始以降利用人口史上最低記録絶賛更新中☆ ttp://www.tiobe.com/index.php/content/paperinfo/tpci/Perl.html
202 :デフォルトの名無しさん :2014/02/15(土) 17:11:49.28 .net ちろべとかどうせ海外の話でしょ、ひまわりが載ってないしw
203 :デフォルトの名無しさん :2014/02/15(土) 17:18:51.05 .net 韓国も入ってないだろうな。 韓国ではRubyよりPerlのほうが圧倒的に人気だから そんなIT人口の多いIT先進国のデータが入ってたら絶対Perlのほうが上位に来るよ。
204 :デフォルトの名無しさん :2014/02/15(土) 20:49:43.46 .net 韓国では何をきっかけにPerl人口が増えたの?例えばO'Reillyとかは韓国語版を 出していないよね?韓国のひとは何を使って勉強したの?教えてえろいひと
205 :デフォルトの名無しさん :2014/02/15(土) 21:42:43.14 .net >>195 ありがとうございます。それをヒントに少し思い出してきたかも。
206 :デフォルトの名無しさん :2014/02/15(土) 22:15:24.73 .net こういうクズがコミュニティの足引っ張ってんだよな
207 :デフォルトの名無しさん :2014/02/15(土) 22:32:20.62 .net >>205 迷惑がられてる自覚はないわけね。
208 :デフォルトの名無しさん :2014/02/15(土) 22:34:34.38 .net そう言ってるだけのお前も迷惑がられてる自覚はないわけね
209 :デフォルトの名無しさん :2014/02/15(土) 23:02:19.74 .net 荒らせればオウム返しでも何でもいいんだな
210 :デフォルトの名無しさん :2014/02/15(土) 23:18:36.63 .net 俺も荒らし…まあそうだろうなあ、自覚は無いようだけどお前も荒らしだよ?
211 :デフォルトの名無しさん :2014/02/15(土) 23:27:26.42 .net ここは常に罵りあってる気持ちのよいスレッドですね 初心者も質問しやすくて大変良い雰囲気だと思います
212 :デフォルトの名無しさん :2014/02/16(日) 00:15:49.07 .net >>190 みたいな奴がそうなるように 仕向けてるんだよ。
213 :デフォルトの名無しさん :2014/02/16(日) 00:43:26.71 .net リファレンスをハッシュのキーに使ってもいいの?何か間違えてない?
214 :デフォルトの名無しさん :2014/02/16(日) 00:51:25.65 .net >>213 ドキュメントも読めないのかゴミ
215 :デフォルトの名無しさん :2014/02/16(日) 00:58:35.57 .net そもそもPerlを選択する時点でかなり間違えちゃってるから別にいいんじゃね?w 大元で間違ってるのに枝葉の間違いばかり気にする馬鹿ってたまにいるよな。 中国産の野菜は農薬が酷いが、中国産のキャベツと中国産の白菜のどっちが安全か考える馬鹿。 そもそも中国産の野菜を選ぶ時点で間違ってると気付かない馬鹿。 低所得で納税額の少ない社会のお荷物に多い傾向。
216 :デフォルトの名無しさん :2014/02/16(日) 01:09:56.43 .net >>215 馬鹿というより向上心がないんでしょ 一つ言語を覚えたらそこに落ち着いてしまうタイプだと思われ
217 :デフォルトの名無しさん :2014/02/16(日) 01:49:27.33 .net 向上心のない奴は何やっても駄目、他人に懇切丁寧に教えてもらって半人前とかね 居残りさせられて先生がつきっきりで人一倍教えてるのに50点しか取れない奴いただろ
218 :デフォルトの名無しさん :2014/02/16(日) 09:18:13.70 .net 新たにPerl覚える人間が居ないとでも? 良く出来たツールだと思うよ、ホント
219 :デフォルトの名無しさん :2014/02/16(日) 13:55:54.78 .net Perlを覚えられないひとのためにできたのがPHP。PHPはPerlの機能限定版。 だからCGIにしか使えない。
220 :デフォルトの名無しさん :2014/02/16(日) 13:59:57.82 .net 流石に、PHPをCGIで使う例は稀かと
221 :デフォルトの名無しさん :2014/02/16(日) 23:07:15.10 .net >>220 >>221 みたいな認識でPHPを否定してPerlを使い続けてるのがPerl厨なんだよ
222 :デフォルトの名無しさん :2014/02/17(月) 01:44:26.48 .net PHP使うくらいならPerl4を使うけどな、このスレ的にも
223 :デフォルトの名無しさん :2014/02/17(月) 08:01:50.33 .net そもそも用途が全然違うものを比べる意味が解らないな
224 :デフォルトの名無しさん :2014/02/17(月) 11:11:07.50 .net Perl使える奴がわざわざぺちぴー入れてまで使う理由がない
225 :デフォルトの名無しさん :2014/02/17(月) 21:20:39.98 .net >>222 PHPのクラスやトレイトを Perl4でどうやって実装するの?
226 :デフォルトの名無しさん :2014/02/17(月) 23:26:58.49 .net 必要のないものをどうして実装する必要があるのだ
227 :デフォルトの名無しさん :2014/02/18(火) 01:23:53.24 .net 2つも3つも糞スレ建ててんじゃねーよゴミPerler
228 :デフォルトの名無しさん :2014/02/18(火) 02:13:13.87 .net それぺちぱーだろ
229 :デフォルトの名無しさん :2014/02/18(火) 22:40:42.68 .net >>226 まず必要あるかないかは、必要あるという前提にしましょう。 別にPHP専用用語ではないのだから、世界的には必要あるという流れです。 その前提で、どうやって実装するのか答えてください。
230 :デフォルトの名無しさん :2014/02/19(水) 01:19:55.57 .net 必要あるやつが実装すればいいだけのことだな
231 :デフォルトの名無しさん :2014/02/19(水) 15:50:16.30 .net これからは質問者が来ても全部>>230 のレスしか返りません。
232 :デフォルトの名無しさん :2014/02/19(水) 20:01:53.86 .net #!/usr/bin/perl $buffer = $ENV{QUERY_STRING}; @pairs = split( /&/, $buffer ); foreach $pair ( @pairs ){ ( $name, $value ) = split( /=/, $pair ); $FORM{$name} = $value; } $A = $FORM{name1}; $B = $FORM{name2}; print "Content-type: text/html\n\n"; print << "_EOM_"; <html> <body> A*B = $A * $B </body> </html> _EOM_
233 :デフォルトの名無しさん :2014/02/19(水) 20:04:58.23 .net 上みたいなプログラミングを組んで、A=とB=にそれぞれ任意の数字を入れるとA*Bの答えが表示されるようにしたいんですが、 いざ実行してみても上のプログラミングがそのまま表示されるだけで正しい結果が得られないのですが、 どうしたらよいでしょうか。
234 :デフォルトの名無しさん :2014/02/19(水) 20:09:03.95 .net というか、どこかおかしいところがあるでしょうか?
235 :デフォルトの名無しさん :2014/02/19(水) 20:33:02.58 .net >>232-234 おかしいのはお前の頭だ 基本的なこともできてないくせに他人に質問とか頭腐ってんじゃねーの
236 :デフォルトの名無しさん :2014/02/19(水) 20:36:13.45 .net >>234 >>232 ,>>233 が板違いだということに気付かないのがおかしい。 平気で板違いの書き込みをするキチガイは迷惑。 お前みたいなクズはリアルでも迷惑がられてるんだから自覚しろ。
237 :デフォルトの名無しさん :2014/02/19(水) 20:41:12.79 .net >>232 =基礎をやらずにいきなりプログラミングから入る典型的なゴミ 目的達成までの手順すら把握できてないからプログラミング以前の問題 何やっても駄目な奴のパターン 人生乙
238 :デフォルトの名無しさん :2014/02/19(水) 20:41:52.31 .net しね
239 :デフォルトの名無しさん :2014/02/19(水) 20:47:40.29 .net >>237 人生乙は言い過ぎ。 高卒以上なら人生乙だけど、 >>232-234 みたいな小学生は 中高で挽回できる可能性がある。
240 :デフォルトの名無しさん :2014/02/19(水) 20:49:37.80 .net 一人芝居乙ですwwww
241 :デフォルトの名無しさん :2014/02/19(水) 20:50:45.28 .net >上みたいなプログラミングを組んで、A=とB=にそれぞれ任意の数字を入れるとA*Bの答えが表示されるようにしたいんですが、 >いざ実行してみても上のプログラミングがそのまま表示されるだけで正しい結果が得られないのですが、 日記はブログに書け >どうしたらよいでしょうか。 今すぐプログラミングやめろ そして二度とくるな
242 :デフォルトの名無しさん :2014/02/19(水) 20:53:44.83 .net Perl系スレは質問者が叩かれると張り切って答える奴がいるから 質問したら自演で自分を叩くのが常套手段
243 :デフォルトの名無しさん :2014/02/19(水) 20:56:43.89 .net >>234 スレ違いのネタで荒らす以外やることないわけ?
244 :デフォルトの名無しさん :2014/02/19(水) 20:59:52.26 .net スレ違いどころか板違い 頭が悪いにも程がある 発達障害かもな
245 :デフォルトの名無しさん :2014/02/19(水) 21:03:24.03 .net >>232 馬鹿はPerlコミュニティの質を下げるだけだからこっちに行ってくれ。 http://kohada.2ch.net/test/read.cgi/php/1390166591/
246 :デフォルトの名無しさん :2014/02/19(水) 21:11:38.56 .net >>232 PHPなら一瞬で片付く案件 <?php $x = $_GET['name1'] * $_GET['name2']; echo( $_GET['name1'] . " * " . $_GET['name2'] . " = " . $x ); ?>
247 :デフォルトの名無しさん :2014/02/19(水) 21:16:25.09 .net >>234 入門書1冊読めば大抵書いてあるはずだが・・・ 本1冊買えない乞食か? そんなに金がないならプログラムなんかやめてバイトでもしたほうがいい 日雇いでも書籍1〜3冊買える金もらえるぞ
248 :デフォルトの名無しさん :2014/02/19(水) 21:27:19.38 .net 初心者スレってかいてあるだろーが字よめねぇのかよカス
249 :デフォルトの名無しさん :2014/02/19(水) 21:34:53.78 .net 書籍すら読めないのは初心者以前に脳に異常がある
250 :デフォルトの名無しさん :2014/02/19(水) 21:42:16.32 .net >>248 だよね。 初心者だったらスレ違いだろうが板違いだろうが 気違いだろうが許されるよね。
251 :デフォルトの名無しさん :2014/02/19(水) 22:23:35.20 .net >>250 板違いは許されんよ。 基地外はスルーだよ。 頭悪いのはテキトーに対応するべきだよ。
252 :デフォルトの名無しさん :2014/02/20(木) 01:17:13.12 .net 初心者は自力で解決しようとしない奴のことではないぞ
253 :デフォルトの名無しさん :2014/02/20(木) 19:53:03.78 .net >>232 A*B = $A * $B の部分を A*B = @{[ $A * $B ]}
254 :デフォルトの名無しさん :2014/02/20(木) 20:41:02.18 .net >>253 板違いのゴミ(>>253 )にエサを与えないでください。 エサを与えるとゴミ知能の>>253 が味をしめて今後も荒らしに来るようになります。
255 :デフォルトの名無しさん :2014/02/21(金) 00:11:06.41 .net と荒らしが申しております
256 :デフォルトの名無しさん :2014/02/21(金) 01:00:44.16 .net >>255 を見れば分かるが 「板違いは荒らし」という人間 = 荒らし この思考回路がPerl厨
257 :デフォルトの名無しさん :2014/02/21(金) 02:50:14.54 .net >>256 残念ながら、思考回路も間違ってるしPerl厨でもないなあ 板違いの指摘そのものは問題ではないよ、実際のところ >>232 は板違いだしな ただ板違いへの対応ってのは ・板違いと指摘する ・徹底してスルーする であるし >>254 が板違いのゴミと呼ぶ >>253 は 「板違い」ではなく「板違いに誤った対応をした人物」でしかない。 しかも内容は相手を煽るような罵倒語ばかり。 誤った煽りは、結果的にはその人物の発言を増やすことになる。 だから >>254 も荒らしってことなんだよ。 ああ、荒らしにレスするのも荒らしだからな 俺が荒らしと言われても、勿論構わないよ? 荒らしにレスしたことには間違いないしな。
258 :デフォルトの名無しさん :2014/02/21(金) 02:51:46.89 .net >「板違いは荒らし」という人間 = 荒らし Perl厨はいちいちこんなこと考えてないと思うぞ。 単に 気に入らない奴=荒らし ってことだと思われる。
259 :デフォルトの名無しさん :2014/02/22(土) 22:30:28.45 .net 質問させてください。 現在、NEなのですが、社内SEを目指しています。 その時に、サーバ作業を簡単に処理させる言語が必要にりそうなのですが、 Perlは向いていますでしょうか? 掲示板とかを作るつもりはありません。作業の効率化が目的です。 隣の席のプログラマさんに聞くと、 Perlは古くてCGIにはもう未来がないよー、ってお勧めされないのですが…
260 :デフォルトの名無しさん :2014/02/22(土) 23:19:05.46 .net >>259 IT系で上を目指そうって人間に何でPerlなんて選択肢があるわけ? そこらへん考えたほうがいいよ。 SEならITに関しては常に最新の動向を知るためにアンテナ張ってなきゃならないし、 アンテナ張ってればPerlがいかに駄目かというこてが分かる。 SE目指すならその辺りを自分で調べられるようになってたほうがいい。
261 :デフォルトの名無しさん :2014/02/22(土) 23:25:59.25 .net >>259 PHPのほうがいい 作業を簡単に処理させるスクリプトとかって最初はそのつもりがなくても便利ならそのまま他のものを作るときに組み込んだりする エンジニア以外でも有用な場合はWebインターフェースにして提供することなるけどその場合にPHPで書いてあるとインターフェース作るだけですぐに提供できる
262 :デフォルトの名無しさん :2014/02/22(土) 23:28:04.79 .net >>259 マジレスすると今現在はRuby 但し3ヵ月後、半年後は分からん 自分でその情報を追えないならSEはやめとけ 今現在既に追えてないみたいだけど
263 :デフォルトの名無しさん :2014/02/22(土) 23:50:35.64 .net >>259 そもそもその文脈でCGIは全く関係ないよ。そこに気付けないなんて釣りだろ?
264 :デフォルトの名無しさん :2014/02/22(土) 23:56:23.80 .net >>260-263 ありがとうございます! javaか、PHPか、perlで悩んでました。 色々調べると、PHPが入り易そうなので、、 明日、本屋に行って、決めます。 ※CGIは、掲示板とか作るのであって、検索とかするのとは違うなあ、 と思いながら、プログラマさんの意見を聞いていました。
265 :デフォルトの名無しさん :2014/02/23(日) 00:03:57.16 .net >>264 やっぱ釣りだったか
266 :デフォルトの名無しさん :2014/02/23(日) 00:08:16.47 .net PHPが第一候補だったのですが、某サイトで、 PHPは、WEB系以外には、まったく意味がない、との様なコメントがあり、困りました。 javaは、いきなり入るには、まだ敷居が高いかなと悩みました。 perlは、単に簡単な、検索や置換には適しているようなコメントで一気に候補に挙がりました。 これらから悩んでいたんです。コメントありがとうございます。
267 :デフォルトの名無しさん :2014/02/23(日) 00:20:28.63 .net >>266 そのコメントとやらの投稿日時と信憑性も確認しろよ まさか去年の夏以前の投稿で、しかも第一線で活躍してい"た"奴の投稿じゃないだろうな 3ヵ月以内の投稿で、しかも第一線で活躍してい"る"人の投稿なら信用しろ そしてそういう人ならまずPerlを候補に挙げることはない まぁ第一線で活躍してるわけでもない俺のこんな匿名の投稿も信憑性がないだろうから 第一線で活躍してる人がPerlなんか使わないということは自分の目で確認してくれ
268 :デフォルトの名無しさん :2014/02/23(日) 00:24:33.24 .net >>267 投稿日時、第一線は確認していませんでした。 すみません、助言、ありがとうございます。
269 :デフォルトの名無しさん :2014/02/23(日) 00:27:42.14 .net >>266 PHPがWeb系以外に使えんのは本当 Perlでも良いけど、RubyやPythonも有効だよ まあ、まずは最初にシェルスクリプトだけどね
270 :デフォルトの名無しさん :2014/02/23(日) 00:38:05.80 .net と言うか、PerlスレにPHPのこと聞く時点で釣り
271 :デフォルトの名無しさん :2014/02/23(日) 00:39:36.75 .net >>269 >PerlとLispが結婚して隔世遺伝が黒魔術で生まれた言語。 >Javaは硬度8くらい、Pythonは6くらいになるのに対して、Rubyは3くらいになる。 との記事を見つけました。いつの記述かわからないのですが(汗) Rubyも明日、本屋で漁ってみます。ありがとうございます。
272 :デフォルトの名無しさん :2014/02/23(日) 00:40:48.81 .net >>270 すみません。退散します。 みなさん、マジレス、ありがとうございます。
273 :デフォルトの名無しさん :2014/03/05(水) 06:22:38.93 .net >>232-234 _EOM_なんて使っちゃだめだよ。見づらい。 print "Content-type: text/html\n\n"; print "<html>"; print "<body>"; print "A*B = $A * $B"; print "</body>"; print "</html>";
274 :デフォルトの名無しさん :2014/03/25(火) 21:25:34.52 ID:dz69sIJc.net >>274 はちょっと疑問に思っただけで何かするのに必要なワケじゃないので無理して 答えようとしないで下さい。たぶんちょっとググった程度で分かるようなことではないです。
275 :デフォルトの名無しさん :2014/03/25(火) 21:54:24.41 ID:En8OrmpQ.net >>274-275 http://perldoc.jp/docs/modules/encoding/encoding.pod use encoding 'euc-jp', STDOUT => 'cp932'; 但し Perl 5.18.0 以降、encoding プラグマは非推奨で将来的に削除される予定。 http://perldoc.perl.org/encoding.html#WARNING
276 :274 :2014/03/25(火) 22:08:05.94 ID:dz69sIJc.net >>275 うおお、すごい、あっさり出来てしまった・・。 今日一日↓こんなのでやろうとして泥沼にハマってました。 use encoding "euc-jp"; binmode STDOUT, ':encoding(cp932)'; スーパーハカーさんどうもありがとう〜
277 :デフォルトの名無しさん :2014/05/07(水) 01:39:02.09 ID:NfbdqxRr.net print +(3,2,1,),"\n"; ↑これ、+記号を消すと改行が反映されなくなるんですが、この+記号って どういう意味ですか?ググるためのキーワードだけでもおねがいします。 ググると +{ } は出てきたんですが +( ) はなぜか見つかりませんでした。
278 :デフォルトの名無しさん :2014/05/07(水) 04:47:36.14 ID:nyTYPDB6.net >>277 (print(3,2,1)), "\n";
279 :デフォルトの名無しさん :2014/05/07(水) 06:28:00.20 ID:WoJ0c0N0.net +() は scalar () とほぼ同等。 +{}は、ブロック中の戻り値(?)をスカラーとして評価しますって意味。 +()は、リストとして評価しませんよーって意味。 perldocのperlopの Terms and List Operators (Leftward) と Unary "+" を参照してください。
280 :278 :2014/05/07(水) 09:44:31.49 ID:NfbdqxRr.net >>278-280 なるほど、+{ } と同じような使い方だったんですね、ありがとうございました。 perldocもこれから読んでみます、多謝。
281 :デフォルトの名無しさん :2014/05/17(土) 17:23:28.43 ID:syasv/b2.net windowsの隠しファイルを判別する方法を教えてください
282 :デフォルトの名無しさん :2014/05/17(土) 18:53:12.61 ID:9KhUrEje.net >>281 http://search.cpan.org/dist/Win32-File/File.pm use Win32::File qw(GetAttributes HIDDEN); GetAttributes($ARGV[0], my $attr) or die $!; print +($attr & HIDDEN) ? 1 : 0;
283 :デフォルトの名無しさん :2014/05/17(土) 18:54:17.69 ID:syasv/b2.net >>282 ありがとうございます
284 :デフォルトの名無しさん :2014/05/24(土) 13:13:06.88 ID:JzdRsmzF.net 掲示板のCGIを設置したんだけど、<a href="./bbs/mtbbs.cgi?">って感じにリンクするようにして、http://172 では、ちゃんと作動したんだけど、 実際にFTPに転送すると、作動しないどころか画面が写らない 500エラーが出てくる 原因に関してはまだわかんなくて、調べてるんだけど、そもそも思ったのが<a href="./bbs/mtbbs.html">ならまだしも<a href="./bbs/mtbbs.cgi?">なんて、直にリンクすることなんてできるの?
285 :デフォルトの名無しさん :2014/05/24(土) 17:20:37.74 ID:Cq+cm/k7.net >>284 WebProg板へドゾー
286 :デフォルトの名無しさん :2014/05/25(日) 10:23:53.30 ID:iOXakntE.net >>284 リンクはできる 動かない原因は別にある
287 :デフォルトの名無しさん :2014/06/04(水) 10:34:27.77 ID:8N6swAY/.net 知恵袋で質問したら回答どころか閲覧すらなさすぎワロタ・・・
288 :デフォルトの名無しさん :2014/06/04(水) 15:39:06.30 ID:ZiHf6GEW.net 早くマジレスしろ屑やろう
289 :デフォルトの名無しさん :2014/06/05(木) 04:14:43.22 ID:tjfA5i3O.net 質問してもどうせまともに答えてくれないんだろうな どこ行っても解決しないわ
290 :デフォルトの名無しさん :2014/06/05(木) 06:34:54.17 ID:Mvr5+GEe.net Web以外で最近なんか未解決質問あったっけここ
291 :デフォルトの名無しさん :2014/06/05(木) 19:01:58.49 ID:aZWI6Ot4.net >>290 今日も元気に残件なす!
292 :デフォルトの名無しさん :2014/06/08(日) 05:04:05.20 ID:LT2twBt5.net 複数のRSSフィードを結合して一つのRSSを生成したい。 その際、「生成されたフィード記事のリンクURLすべてを任意のリンク先に指定する。」 このやり方を教えてください。 XML::FeedPP、XML::TreePPというモジュールを用い、下記のCGIプログラムを使用して自動更新する1つのフィードを生成するところまでは出来ました。 しかし、他の部分はチョロチョロと変えることができるのですが、記事リンクだけはどうしても変えることができません。全部の記事リンクを、ある1つのリンクに変換したいだけです。 #!/usr/bin/perl use XML::TreePP; use XML::FeedPP; my $feed = XML::FeedPP::RDF->new(); $feed->merge( "結合したいrssフィード1" ); $feed->merge( "結合したいrssフィード2" ); my $now = time(); $feed->sort_item(); $feed->pubDate( $now ); my $atom = $feed->to_file( "index.rdf", "UTF-8" ); print "Content-type: text/plain\n\n"; print "出力完了\n"; 使ってるレンタルサーバーはロリポップです。 複数のフィード(RSS、Atomなど)をまとめるCGI http://blog.audiofan.net/archives/491385.html [Perl] XML::FeedPP - RSS・RDF・Atomフィードの解析・生成・変換・結合 http://www.kawa.net/works/perl/feedpp/feedpp.html XML::FeedPP https://metacpan.org/pod/XML::FeedPP#feed-remove_item-index-or-link http://search.cpan.org/~kawasaki/XML-FeedPP-0.43/lib/XML/FeedPP.pm
293 :デフォルトの名無しさん :2014/06/10(火) 06:01:49.29 ID:hRaawaun.net >>292 WebProg http://nozomi.2ch.net/php/
294 :デフォルトの名無しさん :2014/06/10(火) 12:30:22.68 ID:zpbxFFHG.net ttp://s1.gazo.cc/up/88224.jpg こういった10行で一組のデータの中に --- 市民の... yerles warrior --- というパターンが多くあります。 マッチ検索したいのは --- 市民の... dog warrior --- というパターンです。 "市民"という文字を見つけたら 2行下に "dog"という文字があるならば その、"市民の..."を出力して欲しいです。 ファイル読んで単純マッチするぐらいしか今はできません open (my $in , "<" , "./cdatan_5_101.s2"); while (<in>){ if (/yerles/){print "matched\n"} } close $in; }
295 :デフォルトの名無しさん :2014/06/10(火) 13:44:16.05 ID:kKsVvptA.net >>294 http://ideone.com/0A9TR0
296 :デフォルトの名無しさん :2014/06/10(火) 13:58:26.18 ID:kKsVvptA.net 手抜きすぎた。 >>294 http://ideone.com/NUuEtp
297 :デフォルトの名無しさん :2014/06/10(火) 14:45:55.30 ID:zpbxFFHG.net 凄い。ありがとう。 出てきたshiftとか勉強してみます 感謝
298 :デフォルトの名無しさん :2014/06/11(水) 22:22:53.08 ID:PCU6+AOL.net どこにshiftの出番があるのか?と思ったらそう言うことか。 普通に配列に突っ込んで、マイナスのインデクスでアクセスすりゃいいやん。 $ perl -Mvars=@a -lne 'push @a, $_ ; next if !/dog/ ; next if $a[-3] !~ /市民/ ; print $a[-3]' File メモリ喰いが気になるのなら、 $ perl -Mvars=%h -lne '$h{$.} = $_ if /市民/ ; next if !/dog/ ; next if ! defined $h{$. - 2} ; print $h{$. - 2}' File とか、で節約すりゃいい。、、、けど、今時そんなの気にする必要もないだろ 上のワンライナーでやってる事は、 $ perl -MO=Deparse -Mvars...略 でわかる。
299 :デフォルトの名無しさん :2014/06/12(木) 13:15:46.45 ID:qt4Roz23.net 恰好をつけるなら、リングバッファでも書くところですが、回答としては、あんまりだと思ったので。 2行固定なら、別に使わなくても。 perl -ne '($_, $x, $y) = ($x, $y, $_); $y =~ /dog/ && /市民/ && print' File 何も考えなくていいなら、正規表現でバッサリ。 perl -e 'print((local $/ = <>) =~ /(^.*市民.*\n).*\n.*dog/gm)' File
300 :デフォルトの名無しさん :2014/07/13(日) 23:15:08.85 ID:m+RTKRIb.net >>299 1ヵ月以上もお前のレスにレスがつかないのはなぜか分かる? お前みたいなゴミクズは誰も必要としてないからだよ。 一般社会ではあからさまに無視するわけにもいかないから当たり障りのない対応をしてもらってると思うけど、 お前ハッキリ言って迷惑だから。 ゴミクズはネットでもリアルでもできるだけ社会と接点持つな。
301 :デフォルトの名無しさん :2014/07/26(土) 13:51:21.84 ID:5yhnFgSu.net Test Summary Report ------------------- t/config-finder.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: Bad plan. You planned 26 tests but ran 0. Files=86, Tests=923, 636 wallclock secs ( 2.64 usr 1.67 sys + 247.77 cusr 297.98 csys = 550.05 CPU) Result: FAIL Failed 1/86 test programs. 0/923 subtests failed. Makefile:945: recipe for target 'test_classic' failed make: *** [test_classic] Error 255 PETDANCE/ack-2.12.tar.gz /usr/bin/make test -- NOT OK //hint// to see the cpan-testers results for installing this module, try: reports PETDANCE/ack-2.12.tar.gz Running make install make test had returned bad status, won't install without force Failed during this command: PETDANCE/ack-2.12.tar.gz : make_test NO Windous上のcygwinとLinuxでCPANのackをインストールしているところでつまずきました 上のエラーはcygwinの方のエラーです これは、curlを使えば回避できるそうですが http://d.hatena.ne.jp/katz_24/20130210/1366387522 setup.exeを利用したインストールでも何故かインストールができずに手詰まりになりました ack-2.12.tar.gz を回答してみても訳が分かりません ackをインストールする手はありますか?
302 :デフォルトの名無しさん :2014/07/26(土) 14:09:06.14 ID:mdOIZXZW.net make test had returned bad status, won't install without force まけ出来てるのならいんすこ自体は可能
303 :デフォルトの名無しさん :2014/07/26(土) 15:10:46.74 ID:5yhnFgSu.net force installでcygwinの方に入れました 正常に動作します ありがとうございました Linuxの方は、手っ取り早く sudo aptitude install ack-grep しました おかげさまで両方にackが揃いました 感謝します
304 :デフォルトの名無しさん :2014/08/06(水) 20:37:58.86 ID:Wa4hIBKh.net xmlを取得して中身を s|。|。<br>|g; して句読点ごとに改行させたかったのですがどうしても出来ません なにか理由があるのでしょうか 初心者なもんで変な質問をしていたらすいません
305 :デフォルトの名無しさん :2014/08/06(水) 20:41:08.65 ID:itqhygIz.net 文字コード
306 :デフォルトの名無しさん :2014/08/06(水) 20:43:50.60 ID:E5F7+XJp.net エスパーじゃないんだから、そんな質問で答えれる訳ないだろ。 せめてサンプルとなる簡単なxmlを出せよ・・・
307 :デフォルトの名無しさん :2014/08/06(水) 21:39:48.88 ID:Wa4hIBKh.net 申し訳ないです >>305 デコードはしています >>306 申し訳ありません wikipedia.simpleapi.net/api?keyword=Test&output=xml
308 :デフォルトの名無しさん :2014/08/06(水) 22:33:25.28 ID:E5F7+XJp.net >>307 テストした結果、普通に置き換えできます。 取得方法に問題があるんだろう。 ってか、こんな質問の仕方じゃスレ全部埋まるわ・・・ 問題が起きてるサンプルコード出してみ
309 :デフォルトの名無しさん :2014/08/06(水) 22:37:04.17 ID:itqhygIz.net >>307 ちげーよ utf8のファイルをeucのスクリプトでマッチしようとしたんじゃないの、ってこと
310 :デフォルトの名無しさん :2014/08/06(水) 22:48:45.57 ID:Wa4hIBKh.net >>309 shift-jisのスクリプトでマッチさせようとしました 不味かったでしょうか
311 :デフォルトの名無しさん :2014/08/06(水) 23:05:36.50 ID:itqhygIz.net >>310 なら、どっちかの文字コードにencodeして合わせる
312 :デフォルトの名無しさん :2014/08/06(水) 23:07:49.58 ID:E5F7+XJp.net いや、よほど特別な事情がない限りは utf-8 のソースにするべき。 http://d.hatena.ne.jp/perlcodesample/20091118/1246679588 この辺読んで理解するべき。
313 :デフォルトの名無しさん :2014/08/18(月) 11:10:58.79 ID:Umc6CSTk.net > perl -e "print (5+5)/3" 10 なんで?
314 :デフォルトの名無しさん :2014/08/18(月) 19:48:40.74 ID:3b1Nz6uJ.net print -e "print((5+5)/3)"
315 :デフォルトの名無しさん :2014/08/19(火) 07:25:44.81 ID:o0wKf1/G.net >>313 http://perldoc.jp/docs/perl/5.18.1/perlfunc.pod > 括弧を使うときには、単純な、(しかし、ときには驚く結果となる規則が 適用できます: > 関数に見えるならば、それは関数で、優先順位は関係ありません。 (略) > Perl に -w スイッチを付けて実行すれば、こういったものには警告を 出してくれます。
316 :デフォルトの名無しさん :2014/08/19(火) 20:11:13.78 ID:pX43W7dG.net 2000年には既にwarnings実装してんのに なんで未だに、-w推薦文章なんか残してんだろーね? -Mwarningsのエイリアスって訳でもねーし。
317 :デフォルトの名無しさん :2014/09/02(火) 01:23:02.48 ID:ytxIDh0v.net 【誤】print -e "print ((5+5)/3)" 【正】perl -e "(print(5+5)) / 3" ついでに -w と -Mwarnings は別物。-Mwarnings で -w の代わりになるわけではない。
318 :デフォルトの名無しさん :2014/09/02(火) 02:10:54.86 ID:EB7tqG6E.net だが共に生きることはできる
319 :デフォルトの名無しさん :2014/09/02(火) 04:04:55.52 ID:smXsHdMQ.net >>317 -w ≠ warningsは常識だろ。 で、「use Unicodeは、use Jcodeの代りじゃない」ってレベルの事を言ってるぞ、おまえさん。 -wが石頭だから、より制御しうるwarningsを実装したんだろが。
320 :デフォルトの名無しさん :2014/09/02(火) 07:00:12.46 ID:DO1XeoYm.net 5.20のperllexwarnがスッキリしててワラタ。
321 :デフォルトの名無しさん :2014/10/02(木) 21:11:40.29 ID:5+m7m9lZ.net 常識の根拠は常識は常識だから(真顔)
322 :デフォルトの名無しさん :2014/11/05(水) 08:46:59.07 ID:aEzkt3Do.net 再帰中に再帰の深さを出したいんだけどlocal使っていい? local $::count = $::count + 1; もっと普通の方法ある?
323 :デフォルトの名無しさん :2014/11/05(水) 11:35:00.61 ID:+yDKEom1.net 引数で渡す sub foo { my ($arg, $count) = @_; ...; foo($arg, $count) if $count++ < 10; }
324 :デフォルトの名無しさん :2014/11/05(水) 14:22:15.13 ID:aEzkt3Do.net ありがとーーー。 複製される変数の数には変わりがないよね、たぶん。 上はグローバル変数と言うのが気に入らなくて、下は引数で扱う値が増えるのが気に入らないが。
325 :デフォルトの名無しさん :2014/11/05(水) 16:45:55.49 ID:aEzkt3Do.net while(@all){ ((shift @all) eq 'cut') and last; } whileを修飾子として書くと落ちるんだが誰か理由を教えてくれー ((shift @all) eq 'cut') and last while(@all); evalでも落ちた
326 :デフォルトの名無しさん :2014/11/11(火) 22:49:14.07 ID:AzojYpxL.net 英数混じった文字列の中から2桁の数字にマッチさせたいのですが、 /\d\d/だと3桁以上の数字の前2桁にもマッチしてしまいます。 /^(\d\d)\D|\D(\d\d)\D|\D(\d\d)$|^(\d\d)$/ こんなことするより簡単な方法ないでしょうか?
327 :デフォルトの名無しさん :2014/11/12(水) 00:09:33.46 ID:WHJDipVn.net [^\d]\d{2}[^\d]
328 :デフォルトの名無しさん :2014/11/12(水) 02:38:25.07 ID:T/b7ogJF.net % perl -le 'print q{22} =~ /[^\d]\d{2}[^\d]/' % perl -le 'print q{22} =~ /(?<!\d)\d{2}(?!\d)/' 1 % perl -le 'print q{22} =~ /(?:^|\D)\d{2}(?:$|\D)/' 1
329 :327 :2014/11/12(水) 22:11:30.88 ID:obciIUzc.net /(?<!\d)\d{2}(?!\d)/ これが期待通りの結果が得られました。 (?<!)とか(?!)とかこれまで使ったこと無かったので勉強になりました。 ありがとうございました。
330 :デフォルトの名無しさん :2014/11/13(木) 00:03:57.67 ID:w30Rb1CY.net テストパターンに英字が入ってませんぜ
331 :デフォルトの名無しさん :2014/11/13(木) 05:25:18.91 ID:iJHzIgO3.net \b使えよ。便利だぞ。
332 :デフォルトの名無しさん :2014/11/13(木) 05:51:07.66 ID:DTTQy1M/.net そりゃ\b使って期待通りの結果が出るなら使うだろ
333 :デフォルトの名無しさん :2014/11/13(木) 23:58:39.09 ID:bKuFahzS.net 以下のような日付が下から上に並んでいるoriginal.txtがあるとします。 これを、日付を逆順にしたoutput.txtに整形するプログラムを作りたいです。 Windowsで、Batch fileとPerlで作れたらと考えています。よろしくお願いします。 <original.txt> ########## 20141203 ########### DNINITIENK FDKHJKDKKSK ・・・・・ ########## 20141202 ########### TUNINJKDF NIGHALKDK ・・・・・・ ########## 20141201 ########### ABCDEFGHIJKE LMNOPQRSTUV ・・・・・ <output.txt> ########## 20141201 ########### ABCDEFGHIJKE LMNOPQRSTUV ・・・・・・ ########## 20141202 ########### TUNINJKDF NIGHALKDK ・・・・・・ ########## 20141203 ########### DNINITIENK FDKHJKDKKSK ・・・・・・
334 :デフォルトの名無しさん :2014/11/14(金) 00:03:31.59 ID:cRe1Bhcz.net >>331 \bだと英字と数字の境目は単語の区切りにならないみたい。
335 :デフォルトの名無しさん :2014/11/14(金) 01:18:41.88 ID:VOKh6jxm.net centosで元から入ってるperlとは別にソースインストールしたperlを別に入れました。 新しくインストールしたperlで以前から入っていたCPANモジュールを使いたい場合、再度入れなおす必要ありますか?
336 :デフォルトの名無しさん :2014/11/14(金) 02:49:12.43 ID:FARMtlO3.net >>333 perl -Mvars=%h -ane '$a = $F[1] if @F == 3 ; $h{$a} .= $_ }{ print $h{$_} for sort { $a <=> $b } keys %h’ original.txt >>335 モジュールの共用は避けるべき
337 :デフォルトの名無しさん :2014/11/14(金) 06:59:52.41 ID:Ul+u6aQZ.net >>333 use 5.016; use warnings; my $boundary = qr/^#+\s+\d+\s+#+\s*$/; open(my $in, "<", "original.txt") or die; my @data; my $chunk = ''; while(<$in>){ if (/$boundary/ and (length($chunk) > 0)){ push @data, $chunk; $chunk = ''; } $chunk .= $_; } if (length($chunk) > 0){ push @data, $chunk; } $in->close; open(my $out, ">", "output.txt") or die; $out->print(reverse @data); $out->close;
338 :デフォルトの名無しさん :2014/11/14(金) 20:30:37.37 ID:FARMtlO3.net 単純に逆にするだけか perl -00pe '$_ = join q{}, reverse ( split /(?=^#)/m)'
339 :デフォルトの名無しさん :2014/11/16(日) 13:54:55.61 ID:f46/IGen.net >337,336,338 有難うございました。
340 :デフォルトの名無しさん :2015/01/12(月) 10:56:30.31 ID:av7JsOQD.net my $initial_title_ = "\$" . "$initial_threads" . "_begin"; $initial_title_ = eval $initial_title_; 1行に短くなりませんか?
341 :デフォルトの名無しさん :2015/01/13(火) 00:30:37.15 ID:Dvj6a5BR.net my $initial_title_ = eval "\$${initial_threads}_begin"; こういうこと?
342 :デフォルトの名無しさん :2015/01/13(火) 02:35:14.88 ID:sfvPNi0Q.net >>341 ありがとう eval使うのが3つあったから 6行が3行になったよ
343 :デフォルトの名無しさん :2015/01/14(水) 23:01:56.10 ID:+qvvUh8r.net $seach_wordに日本語を入れたいのですが、それだとマッチしません。どうすればよいでしょうか? w3m -dump -cols 160 http://peace.2ch.net/test/read.cgi/tech/1349538519/| ~/Perl_instance/resSearch.pl #!/usr/bin/env perl use strict; use warnings; use utf8; my $seach_word = ">1" ; my $found_res = 0; my $res = ""; while (<>) { if (/^\d/x) { # out put, flash if ( $found_res == 1 ) { print $res; $found_res = 0; } $res = ""; } else { # searching if (/$seach_word\b/x) { $found_res = 1; } } # buffer lines $res .= $_; }
344 :デフォルトの名無しさん :2015/01/15(木) 09:31:41.42 ID:+X0UBnJQ.net >>343 use open ":utf8";
345 :デフォルトの名無しさん :2015/01/15(木) 09:40:11.27 ID:+X0UBnJQ.net あ、 binmode STDIN , ":utf8": で
346 :デフォルトの名無しさん :2015/01/15(木) 13:13:41.60 ID:WfzbS03y.net binmode STDIN , ":utf8"; binmode STDOUT , ":utf8"; my $seach_word = "日本語" ; で同様のコマンド叩いて、つまり344が拾えるはずが 何故かヒットしません
347 :デフォルトの名無しさん :2015/01/15(木) 18:33:41.92 ID:DbiGPAED.net <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
348 :デフォルトの名無しさん :2015/01/16(金) 16:08:36.80 ID:6B2q2EkL.net w3m -dump -cols 160 http://peace.2ch.net/test/read.cgi/tech/1349538519/|nkf -g UTF-8 UTF-8しか扱わないのにちょっとエンコード回りは複雑だ
349 :デフォルトの名無しさん :2015/01/19(月) 10:22:25.36 ID:AihfgHov.net webサイトの表形式データ(横方向は5列、縦方向は不定で100行ぐらい)を取得するのに、 正規表現の繰り返しマッチング m//g を使って、結果を配列に入れてるんだけど、 もっと簡単に取ってくるモジュールはないでしょうか?
350 :デフォルトの名無しさん :2015/01/19(月) 21:45:13.42 ID:qpn2CGqA.net >>349 >webサイトの表形式データ の形式が分からんとなんとも。
351 :349 :2015/01/19(月) 22:36:30.03 ID:bxHKMq/8.net >>345 ヒント助かった。 use Encode qw/encode decode/; my $enc = 'UTF-8'; sub d($) { decode($enc, shift) } sub e($) { encode($enc, shift) } my $seach_word = "日本語"; my $found_res = 0; my $res = ""; while (<>) { if (/^\d/x) { if ( $found_res == 1 ) { print $res; $found_res = 0; } $res = ""; } else { my $seach_word_ = e$seach_word; if (/$seach_word_/x) { $found_res = 1; } } $res .= $_; }
352 :デフォルトの名無しさん :2015/01/20(火) 02:00:35.92 ID:FcML0ncg.net >>349 >>350 例えば、こんな表です http://ke.kabupro.jp/hist/20150107.htm 今はHTMLのソースを見て、証券コードを正規表現で抽出するために、 =~ m!<tr><th><a\shref[^>]+>(\d{4})<\/a>!ig などとして配列へ入れているのですが、泥臭いです。 もっとスマートに取得できるモジュールは無いかと思った次第です。
353 :デフォルトの名無しさん :2015/01/20(火) 02:06:50.85 ID:FcML0ncg.net (続き) 例えば統計計算用のRでは readHTMLTableというモジュール(パッケージ?)があり、表形式のデータを含んだurlを指定すれば、簡単に取得出来るのですが。
354 :デフォルトの名無しさん :2015/01/20(火) 07:56:47.13 ID:y2BAlbXr.net >>352 HTML::TableExtract http://search.cpan.org/~msisk/HTML-TableExtract-2.12/lib/HTML/TableExtract.pm Web::Scraper http://search.cpan.org/~miyagawa/Web-Scraper-0.38/lib/Web/Scraper.pm
355 :デフォルトの名無しさん :2015/01/20(火) 12:03:15.85 ID:NiHMzyM4.net >>354 ありがとうございます
356 :デフォルトの名無しさん :2015/03/13(金) 20:55:35.08 ID:hJWhu2F/.net なにこの良スレ
357 :デフォルトの名無しさん :2015/03/28(土) 10:06:58.72 ID:spJK+jxH.net my $tmp = { $a => sub { $_ = 処理A}, $b => sub { $_ = 処理B}, $c => sub { $_ = 処理C}, }; ループ中に↑のように書いている場合、一つの変数に対して複数の処理($a に 処理A' を追加)を 加えたい場合、どのように書くのでしょうか?
358 :デフォルトの名無しさん :2015/03/30(月) 16:12:56.05 ID:4W43OXe7.net ;
359 :デフォルトの名無しさん :2015/04/12(日) 18:06:38.92 ID:eedq/AcT.net 凄い初歩的な質問だと思うのですが真剣に行き詰まってます 教えてください _HOGE_ こんな表記の変数ってなんて表現するんですか? またネットでこういう変数について調べたいときは、 どのように検索したらヒットしますでしょうか。 Perl __ で検索しても全然それらしい記事が発見できず
360 :デフォルトの名無しさん :2015/04/12(日) 18:43:51.80 ID:Xaz/Qvpp.net _HOGE_は変数じゃないからヒットしないのが正解 もしかして:ヒアドキュメント
361 :デフォルトの名無しさん :2015/04/12(日) 20:02:52.86 ID:eedq/AcT.net なるほど・・・独自のプログラム記述なんでしょうかね・・・ Perlの変数記述方法じゃないことがわかって少し安心しました もう一回解析してきます
362 :デフォルトの名無しさん :2015/04/12(日) 20:06:31.76 ID:eedq/AcT.net >>360 さんの回答で先入観が排除され、 意味がわかりました。 $mes =~ s/_HOGE_/$name/g; 文字列に埋め込まれた_HOGE_を別の変数に代入されてる文字列と置換させていました。 ありがとうございました。
363 :デフォルトの名無しさん :2015/04/13(月) 07:38:14.33 ID:bJ3+bESR.net __END__ とかそんなのの仲間じゃなくて?
364 :デフォルトの名無しさん :2015/05/14(木) 07:11:03.21 ID:y4MWBEfC.net なんでも受け付けるからって、 __HOGE__ をヒアドキュメントとして使ってる人は、単に 特殊リテラルを理解してない人。 質問に超絶遅レスするなら、 __HOGE__は、ほんとうに HOGE と書かれていたなら、 特殊リテラルのまねっこ。 DATA, END などなら、perldoc.jp で perldata から「特殊なリテラル」の項を 参照すること。
365 :デフォルトの名無しさん :2015/05/15(金) 01:58:16.40 ID:3U2TIRvt.net >>364 どういうこと?
366 :デフォルトの名無しさん :2015/05/15(金) 02:39:32.50 ID:PxFVj8Xw.net ヒアドキュメントのデリミタを print <<die; dieなんてしないよ die ってしたら混乱するでしょ。それと同じレベルで特殊リテラルの 記載に類似(もしくはそのまま)させて使ったら、あかんでしょ。 print <<__END__; dieなんてしないよ __END__ って主旨?
367 :デフォルトの名無しさん :2015/05/17(日) 23:46:03.51 ID:wdkXHT83.net 絶対にありえない単語を区切りにしないと、区切りとしての役目にならんだろが __END__を区切りにしてしまったら、__END__という単語が使えなくなるだろ
368 :デフォルトの名無しさん :2015/05/18(月) 00:16:17.74 ID:4BIqDTjB.net じゃあ __HOGE__ にするわ。絶対ありえん単語だし。
369 :デフォルトの名無しさん :2015/05/18(月) 00:56:57.87 ID:sNwS2iXa.net >>367 実行してみろよ、動くぞ。 use strict ; use warnings ; while(<DATA>){ print ; } print <<__DATA__; これがヒア __DATA__ __DATA__ 特殊リテラル
370 :デフォルトの名無しさん :2015/05/28(木) 16:11:25.87 ID:lXL23oHs.net ID.パス付きのHPの更新通知プログラムをつくり実行したところ (certificate verify failed)とハマりました。 おそらくSSL関係でつまっています。 簡単に教えてくれる方お願いします。 $mech->get('https://*****'); ↑指摘されたラインです SSLかと思うのですが、SSLについて知識があまりないため、 ダメだった理由をわかりやすく教えていただけませんか? あと、ユーザーIDやパスワードの前にpitgetを書いてあると どうなるのでしょうか? 説明下手でごめんなさい。
371 :デフォルトの名無しさん :2015/06/08(月) 21:35:22.93 ID:fDJEyEgd.net 特定のディレクトリ(test)からファイルを読み込む処理を 実装しようと思っています。 while(<./test/*>){ #〜ファイル読み込み処理 } はOKなのに $hoge = "./test/*"; while(<$hoge>){ #〜ファイル読み込み処理 } がうまくいかない理由はなぜなのでしょうか? $hogeを可変にしたいのですがどうすればよいでしょうか? 突然の質問で申し訳ありませんが、宜しくお願いします。
372 :デフォルトの名無しさん :2015/06/08(月) 22:51:09.28 ID:tIKF3SUY.net $hoge = "./test/*"; これは文字だからです。(演算子に対するアドレス(ポインタ)ではありません)。 $hoge = "test"; while(<./$hoge/*>)
373 :デフォルトの名無しさん :2015/06/08(月) 23:05:32.65 ID:fDJEyEgd.net >>372 出来ました!ありがとうございます 今日かなり悩んでいました おかげ様でスッキリしました
374 :デフォルトの名無しさん :2015/08/31(月) 00:47:28.38 ID:xgd4PpfH.net 下のようにリストのリストを作成したいが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
375 :デフォルトの名無しさん :2015/08/31(月) 13:20:01.08 ID:Q0xjlAqa.net Lisper な人? 多分、こういうことをお望みかな。 #!/usr/bin/perl use Data::Dumper; my @car = (1, 2); my @cdr = (3, 4); my @both = ( \@car, \@cdr); print( Dumper( \@both));
376 :デフォルトの名無しさん :2015/08/31(月) 13:31:30.24 ID:Q0xjlAqa.net ごめん、アクセス方法も書かなきゃね。 #!/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");
377 :デフォルトの名無しさん :2015/08/31(月) 18:13:02.76 ID:zR+vvNwg.net >>376 ありがとう 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");
378 :デフォルトの名無しさん :2016/01/10(日) 13:19:49.57 ID:/ndDSiBm.net 971 名前:名無しさん@七周年[] 投稿日:2006/11/11(土) 00:56:10 ID:M8+ahUZV0 自称スーパープログラマー某 強烈加齢臭 メール見ない メール無視 ドキュメント見ない ドキュメント無視 説明聞かない 説明無視 話聞かない 話無視 ガム→むっちゃー むっちゃー むっちゃー むっちゃー 煎餅→バリバリバリバリバリバリ 菓子パン→モグモグモグモグモグモグモグモグモグモグ カップアイス→むっちゃー むっちゃー ペロペロペロペロ フロアすべてに響き渡る 超ばかでかいくしゃみ 当然手でおさえない 異音と異振動 ドスーン!ドスーン! ドカーン!ドカーン! バコーン!バコーン! ズドン!ズドン! 机が近いとマウスポインターが飛ぶ 誤操作誘発 書類だしたりしまうだけでドカンドカン 30秒ごとに口と鼻から異音 ふんっっ! ふんっっ! 備品破壊 貸与P C 破壊 他人のもの破壊 奴の作ったスクリプトとプログラムは使えない バグ製造機 電話や共有携帯電話 キーボードが油ベタベタ 奴に電話とPCとコンソールは触らせてはいけない
379 :デフォルトの名無しさん :2016/11/02(水) 10:11:38.85 ID:+6JfDybA.net HTMLファイルの特定文字列を大文字から小文字へ置き換えたいです。 具体的には、name=
380 :380 :2016/11/02(水) 10:15:17.18 ID:+6JfDybA.net あれ、途切れちゃったのでダブルクォートでおかしくなったので、無しで書きます。 HTMLファイルの特定文字列を大文字から小文字へ置き換えたいです。 具体的には、name=A10AB を name=a10ab とnameの部分のみ置き換えたいです。
381 :デフォルトの名無しさん :2016/11/03(木) 19:06:36.96 ID:OIFmvywo.net s{ name=" ([^"]+) " }{ 'name="' . lc($1) . '"' }egx
382 :380 :2016/11/03(木) 23:22:08.51 ID:k7tVkirO.net >>381 eで関数を使えるんですね。ありがとうございました。
383 :デフォルトの名無しさん :2016/11/20(日) 01:09:58.42 ID:VOEYuZOA.net perl コマンドラインからモジュールを読み込みたいんですが、 perl -mM Win32::Clipboard -e "" だと Can't open perl script "Win32::Clipboard": Invalid argument と怒られます。 Perl64\lib\Win32\Clipboard.pm は存在しているのですが・・・
384 :デフォルトの名無しさん :2016/11/20(日) 11:39:42.73 ID:fMzPWX9X.net なんで -m と -M 重ねてるの?それと隙間開けずにやってみ -MWin32::Clipboard ↑
385 :デフォルトの名無しさん :2016/11/20(日) 11:42:40.54 ID:fMzPWX9X.net perl -mM Win32::Clipboard だと M.pm を読み込んだ後 Win32::Clipboard という名のファイルをperlスクリプトとして実行しようとしてるっぽい
386 :デフォルトの名無しさん :2016/11/20(日) 19:04:30.90 ID:VOEYuZOA.net >>384 できました。 ありがとうございました。
387 :デフォルトの名無しさん :2016/11/20(日) 21:00:33.25 ID:pMz2tkuX.net どうでもいいけど、質問の回答に「なんで○○なの」と質問で返すのはみっともない わからないから質問してるのにね ここは初心者スレだし よっぽど回答に自信が無いように見える
388 :デフォルトの名無しさん :2016/11/20(日) 21:01:48.41 ID:pMz2tkuX.net なんで? なんで? なんで? ことあるごとに、「なんで」っていうヤツ バカっぽい イライラする ムカツク
389 :デフォルトの名無しさん :2016/11/23(水) 04:06:43.88 ID:eJb9MXJH.net >>388 「なんで」を追求する楽しさがわからないの?
390 :デフォルトの名無しさん :2016/11/23(水) 10:50:03.05 ID:I/SlW2fg.net 質問を質問でかえすやついるよな 俺「なぜ変更したんですか?」 先輩「なぜ、その変更に疑問を抱くの?」 ・・・
391 :デフォルトの名無しさん :2016/11/23(水) 11:10:48.33 ID:NGAFtogl.net 文脈にもよるわな マニュアルにはっきり書いてあるようなことと違うことやっているなら「お前ちゃんと読んでないのか?」ってなるし どう説明したら理解できるのか探るためにどう考えてどこに疑問を持ったのか確認することもあるし そういう文脈を無視して 質問したら質問が返ってきた = おかしい は短絡的だね
392 :デフォルトの名無しさん :2016/11/23(水) 11:32:41.80 ID:I/SlW2fg.net >>391 めんどくさい人って思われてるよw 誰もあんなに聞きにこなくね?
393 :デフォルトの名無しさん :2016/11/24(木) 21:29:28.37 ID:Puznaqkq.net perlの本を読んでいると、よく 「スカラーコンテキストでは〜」とか「リストコンテキストでは〜」とありますが どのようなところで、分かるのでしょうか? $a = grep /d/ ,qw<ab cd def>; なんかgrepがスカラーコンテキストで使われていると思うんですが if(grep /d/ ,qw<ab cd def>){} だとなぜスカラーコンテキストだと分かるのでしょうか?
394 :デフォルトの名無しさん :2016/11/24(木) 21:43:25.96 ID:ws/Ij8QD.net 真偽値だからスカラーコンテキスト
395 :デフォルトの名無しさん :2016/11/24(木) 22:50:56.11 ID:Puznaqkq.net ありがとうございます 理解できました。
396 :デフォルトの名無しさん :2016/11/28(月) 20:34:11.39 ID:5mxcw3wW.net shiftjisのファイルを読み込むと「{」が「本」にマッチしちゃうんですがいい方法ありませんか?
397 :デフォルトの名無しさん :2016/11/29(火) 00:14:31.38 ID:y3Pzho4d.net 基本全部utf8で処理する
398 :デフォルトの名無しさん :2016/11/29(火) 00:38:56.85 ID:p0rBFEu6.net ファイルを読み込むときにperlに文字コードを教えてあげるとバイト単位ではなくて文字単位で認識してもらえるようになる open my $fh, '<:encoding(cp932)', $file or die $!; 正規表現を含むソースコード全体をUTF8で書き、スコープの上の方で use utf8; と宣言すればスコープ内のコードも文字単位で認識されるようになる
399 :デフォルトの名無しさん :2016/11/29(火) 08:02:41.28 ID:lSOeahl6.net >>398 レスありがとうございます。 試してみます。 取り急ぎお礼まで。
400 :デフォルトの名無しさん :2017/02/26(日) 22:46:53.99 ID:UaR+28E8.net 以下エラーが出たため、ググると、似たエラーの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: https://github.com/bioconda/bioconda-recipes/issues/1254
401 :デフォルトの名無しさん :2017/02/26(日) 23:46:32.86 ID:03Ms8vp8.net >>400 すごく古い Perl (例えば 5.005_03) だと、defined %hash はエラーにならず 0 か 1 が返ってきていた。 だが今やこの機能は廃止された。 http://perldoc.jp/func/defined > 集合(ハッシュや配列)への 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 http://d.hatena.ne.jp/yumatsumo/20071207/1197002522
402 :デフォルトの名無しさん :2017/02/27(月) 00:03:03.35 ID:JWhb7pSm.net ttps://perldoc.jp/docs/perl/5.22.0/perl5220delta.pod#defined40-64array41-32and32defined40-37hash41-32are32now32fatal32errors >defined(@array) と defined(%hash) は致命的エラーになりました >これは v5.6.1 から廃止予定で、v5.16 から廃止予定警告が出力されていました。 v5.6.1は2001年、v5.16は2012年、実際に廃止されたv5.22は2015年にリリース ttps://www.effectiveperlprogramming.com/2016/06/perl-v5-26-new-features/ >A hash is scalar context will return the number of keys, not the hash statistics. 今年リリース予定のv5.26からはスカラーコンテキストのハッシュが返す値はハッシュの持つキーの数になるそうです
403 :デフォルトの名無しさん :2018/02/03(土) 21:51:51.42 ID:UEj2CeXM.net Perl初心者です。独学でやり始めましたが、わからないことがあり、先輩方、何卒よろしくお願いします。 my $num = 1; my $inc = $num++; print “$num¥n”; print “$inc¥n”; 変数$numは2と表示されますが、変数$incは1と表示さます。こらは仕様でしょうか。変数$incについても2が表示されると思ってたのですが。 C言語では右辺を評価した後に左辺に代入して、2が表示してたかな、と思ったので質問させていただきます。
404 :デフォルトの名無しさん :2018/02/03(土) 22:48:45.47 ID:oNG+vmom.net >>403 Cでも++演算子は同様の結果になると思ったが?
405 :デフォルトの名無しさん :2018/02/03(土) 22:55:48.24 ID:UEj2CeXM.net >>404 本当ですね。もっと確認してから質問するべきでした。 やりたかったことは $inc = ++$num( でした。C言語と同じですね。 ご教授頂きまして、どうもありがとうございました。
406 :デフォルトの名無しさん :2018/02/03(土) 22:57:16.17 ID:UEj2CeXM.net >>405 $inc = ++$num; の間違いです。
407 :デフォルトの名無しさん :2018/02/26(月) 01:22:55.04 ID:lGsQPowqG フィボナッチ数列で軽く練習していたら足し算うまくいってません $a = 1; $b = 1; $c = 2; until ($c > 20000) { ($a, $b, $c) = ($b, $c, $a+$b); print "a is $a\t" ; print "b is $b\t" ; print "c is $c\n" ; }
408 :デフォルトの名無しさん :2018/03/03(土) 10:59:01.85 ID:3gz3rWpdg >>407 フィボナッチ数列を{Fn}とすると、漸化式はFn+2 = Fn+1 + Fn (n ≧ 0)なので、 ($a, $b, $c) = ($b, $c, $b+$c); ついでに、Perlで$aと$bは特殊変数なので、一般的な変数として使わないこと。 untilは条件をひっくり返してwhileを使おう。
409 :デフォルトの名無しさん :2018/03/03(土) 14:36:25.76 ID:smAGhZZKz >>408 ありがとうございます
410 :デフォルトの名無しさん :2018/05/23(水) 20:30:23.86 ID:Au5e7VGg.net 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方 役に立つかもしれません グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』 WVNXN
411 :デフォルトの名無しさん :2018/05/24(木) 02:11:41.40 ID:zOcuDZ4P.net perlやってみたいど素人です。 Ubuntu 18.04がメインのマシンです Windows XPサポート終了後難民となり Ubuntu 16.04に辿りついてます Ubuntuもまだまだど素人ですけど 通常に動かす所まではできます Perlはどこから?始めたらいいでしょう 本買った方がいいのかな?
412 :デフォルトの名無しさん :2018/05/24(木) 02:11:43.82 ID:zOcuDZ4P.net perlやってみたいど素人です。 Ubuntu 18.04がメインのマシンです Windows XPサポート終了後難民となり Ubuntu 16.04に辿りついてます Ubuntuもまだまだど素人ですけど 通常に動かす所まではできます Perlはどこから?始めたらいいでしょう 本買った方がいいのかな?
413 :デフォルトの名無しさん :2018/05/24(木) 07:46:52.51 ID:8nuNm7XP.net どのみち本は買った方がいいと思うけど 初心者から始めるならこんなのもあるみたいよ(宣伝乙) http://www.perl-entrance.org/
414 :デフォルトの名無しさん :2018/05/24(木) 11:20:03.99 ID:4N/yOXRV.net >>413 独学派なんです。
415 :デフォルトの名無しさん :2018/06/20(水) 03:35:44.14 ID:CuTzdQY9.net perlに初心者がつくとは。。perlの未来は明るい
416 :デフォルトの名無しさん :2018/06/20(水) 20:53:58.17 ID:Va19lMsb.net Perl 6の“Neko operator”を使ってみたいのですがどのように使用すればいいでしょうか。 > 0 ^..^ 9 > say "0 ^..^ 9" などとやっても 0 ^..^ 9 という文字列(?)が返ってくるだけなのですが……。
417 :デフォルトの名無しさん :2018/06/22(金) 02:01:50.03 ID:AmdeLsRG.net Perl6は初心者なので全く分からない。 というかやろうとしたことすらないので知識ゼロw
418 :デフォルトの名無しさん :2018/06/22(金) 08:56:04.63 ID:Xz8qrSqH.net perl6いつになったら実用的な実装出るのー?
419 :デフォルトの名無しさん :2018/06/27(水) 17:36:19.05 ID:rSBeNI25.net >>416 すいませんどなたかこれ分かりませんか。
420 :デフォルトの名無しさん :2018/06/28(木) 00:53:58.60 ID:mceaYjQ2.net >>419 perl6はまったく使ったことはないが、 範囲演算子らしいから perl5の ... と同じように使うんじゃないのかね。 say $_ for 0 ^..^ 10; みたいな? perl6の文法的にこれでいいかはわからんけど。
421 :デフォルトの名無しさん :2018/06/28(木) 03:08:38.20 ID:mceaYjQ2.net perl5の範囲演算子 ... じゃなくて .. だったね。失礼。
422 :デフォルトの名無しさん :2018/06/28(木) 13:40:00.67 ID:n10gG+NH.net >>420 できました。ありがとうございます。
423 :デフォルトの名無しさん :2018/06/29(金) 22:13:55.33 ID:jsqIPRMd.net Neko演算子なんてあるのねw
424 :デフォルトの名無しさん :2018/07/04(水) 22:52:04.22 ID:gFgZc5FG.net ANH
425 :デフォルトの名無しさん :2018/07/06(金) 12:26:50.17 ID:uTPDH9XV.net ANH
426 :デフォルトの名無しさん :2018/07/12(木) 14:35:34.31 ID:EgbO6wCv.net Perlの勉強始めました。
427 :デフォルトの名無しさん :2018/07/12(木) 16:09:13.97 ID:sm9NZXwJ.net 冷やし中華始めました。
428 :デフォルトの名無しさん :2018/07/19(木) 12:24:17.38 ID:0leqnnH4.net Xorgってperlで描かれてるコマンドが多い気がするけどなんで?
429 :デフォルトの名無しさん :2018/08/03(金) 22:49:39.26 ID:G69i9RgI.net なんだろう? 計算式で質問投稿しようとするとNGワードエラーで拒否られてしまう orz 全角でもダメかー
430 :427です :2018/08/04(土) 19:04:46.45 ID:pEPpCry/.net これで書けるかな? 代入計算式のソースと書きたかった質問内容をマンゴースレに貼りました。 https://agree.5ch.net/test/read.cgi/mango/1532726276/421-422
431 :427です :2018/08/04(土) 19:09:36.61 ID:pEPpCry/.net >430 の書き込みで、本来続きだった リンク先 >424 の 16進〜解説お願いできませんでしょうか? の文章内だけでもNG含んでるとか・・・・プログラム技術板・・コミュニケーション終わってね?
432 :デフォルトの名無しさん :2018/08/05(日) 06:11:20.74 ID:cdvogGHQ.net >>430 よくわからないんだけど、下2桁を60で割って3桁目より上は1の位にシフトしているわけだよね。 とするとあり得るのは時間の時と分について 時 * 100 + 分 とやった結果が数値として入っていて、 それの時間単位への変換ではないか? 例えば元の値が 315 なら3時間15分という意味で、それを時間単位に直すと 3.25 時間ってこと。
433 :デフォルトの名無しさん :2018/08/05(日) 06:13:27.55 ID:cdvogGHQ.net 時と分とは限らないか。分と秒かも知れない。まあしかし下2桁は60進法で考えなければいけないということに変わりはない。
434 :デフォルトの名無しさん :2018/08/05(日) 07:50:18.49 ID:cdvogGHQ.net >>430 ところで元のプログラムに「16進バイナリデータを・・・」というコメントが入っているのだろうが、呼び出す側は実際には何を渡している? 仮に元がバイナリだったとしても unpack('N', ...) のようなことをしていない? だとするとそこでバイナリから Perl の 変数への変換自体は終わっている。 つまり、コメントが紛らわしい表現になっているだけ。
435 :427です これは書けるかな? :2018/08/05(日) 12:21:43.54 ID:gWGunr7x.net >432-434 スミマセンです。 orz もっと詳しく書こうとするとマンゴースレでもブロックされました。 ぶっちゃけ、この中の ttp://motor.geocities.jp/resermail/dc10tools.zip 「dc10mov2csv.pl」内です。 gps_data{'latitude'}の部分からです gps_data{'bearing'}の式は 変換が単精度浮動小数点数(float)のIEEE754 単精度float変換で合ってますか? これをベースに別メーカー機種の同様な構造を持つデータでの他言語の変換プログラムを考えているので。
436 :デフォルトの名無しさん :2018/08/05(日) 17:23:40.10 ID:cdvogGHQ.net >>435 pack, unpack の f は機種依存なので IEEE 754 単制度になるかどうかはプログラムからだけではわからない。 http://perldoc.jp/func/pack まあでも今時の普通のPC用Perlならなってそうな気がするけどね。 latitude って緯度か。GPSデータのバイナリをPerlの変数に入れているということだな。 だから下2桁を60進法で考える必要があると。 やはりそのプログラムのコメントは紛らわしいってだけだよ(サブルーチン名も紛らわしいが)。 bin_convert 呼ぶときには既にバイナリから float に unpack されてるから。 で、bin_convert 内でやっているのは先に書いた通り下2桁を60進法で小数点以下の値にしてるってことね。
437 :427です :2018/08/05(日) 21:57:54.47 ID:gWGunr7x.net >>436 ありがとうございます。 全体からずらして抜いたもの60進法にしてるだけなんですね。 てっきりバイナリから浮動小数点を出す特殊計算かと思っていました。 適当にがんばります。
438 :デフォルトの名無しさん :2018/10/05(金) 20:29:10.24 ID:ZpFL29Ml.net 「サンプル」のCSVを文末の「結果」に変換するプログラムをPerlで作りたいです。 ● サンプルのCSVの構造: 1コラム目:数字8桁の昇順、2コラム目:数字1桁、3コラム目:文字列 ● 作りたいプログラム: 1コラム目、3コラム目は保持する。複数レコードで1コラム目に重複があれば、 それらの複数レコードの2コラム目の1桁数字を連番にする。 1コラム目に重複がない場合は、当該レコードの2コラム目を1にする。 ● 「サンプル」 06030002,6,文字列A 06030004,3,文字列B 06030004,4,文字列C 06030004,5,文字列D 06030005,3,文字列E 06030005,4,文字列F 06030006,3,文字列G 06030006,4,文字列H 06030006,7,文字列I 06030007,3,文字列J 06030008,3,文字列K ● 「結果」 06030002,1,文字列A 06030004,1,文字列B 06030004,2,文字列C 06030004,3,文字列D 06030005,1,文字列E 06030005,2,文字列F 06030006,1,文字列G 06030006,2,文字列H 06030006,3,文字列I 06030007,1,文字列J 06030008,1,文字列K
439 :デフォルトの名無しさん :2018/10/05(金) 21:39:08.56 ID:liWk4NPs.net まずは自分で書いてみたコードを晒すところからだな。
440 :デフォルトの名無しさん :2018/10/05(金) 22:57:27.02 ID:kjx9soPU.net 一行プログラムが思い浮かんだ。 最初の列をハッシュのキーにして3列目をpush。 全部読んだらキーをソートして読んだ内容に番号降りつつ出力。 しかし俺は今電車の中からスマホで書いてるのでここに書く気が起きない。
441 :デフォルトの名無しさん :2018/10/06(土) 00:22:39.61 ID:mGKg2bAW.net Ruby で作った require 'csv' count = Hash.new( 0 ) # 初期値は、0 # コロン区切りのCSV 入力ファイルを、1行ずつ処理する CSV.foreach( "input.csv" ) do |row| count[ row[ 0 ] ] += 1 row[ 1 ] = count[ row[ 0 ] ] puts row.join( "," ) end
442 :デフォルトの名無しさん :2018/10/06(土) 02:20:13.04 ID:m3dYH3N7.net 考え方は >>441 と同じ perl -pe "s/^([^,]+,)[^,]+/$1.++$count{$1}/e" < sample.csv
443 :デフォルトの名無しさん :2018/10/06(土) 03:33:56.69 ID:gPBhgV7B.net my @y = ""; while(<>) { my @x = split ","; # $x[1] = $x[0] eq $y[0] && ++$y[1] || 1; $x[1] = $x[0] ne $y[0] || ++$y[1]; print join ",", (@y = @x); } ウチでやるならこうかしら
444 :438 :2018/10/06(土) 06:07:28.44 ID:J8Y2BFN6.net おはよう。 元のテキストが s.txt に入っているとして、こうする。 perl -ne 'chomp;@d=split/,/;push(@{$h{$d[0]}},$d[2]);END{for(sort keys%h){for($i=0;$i<@{$h{$_}};$i++){print join(",",$_,$i+1,$h{$_}[$i])."\n"}}}' s.txt なげーなw
445 :438 :2018/10/06(土) 06:21:52.15 ID:J8Y2BFN6.net あ、そうか。貯め込む必要はなくてハッシュ作ってそのまんま出せば良いんだよな。 じゃあawkの方が楽ではないか? awk -F, 'BEGIN{OFS=","}{n[$1]++;print $1,n[$1],$3}' s.txt
446 :デフォルトの名無しさん :2018/10/06(土) 17:28:12.58 ID:MMGbFZjG.net 436です。皆様ありがとうございました。 自分では1行ずつ処理することまでしかできず、複数レコードの 1コラム目の比較をすることができませんでした。 おかげさまで体育の日に子供の運動会に行けます! ありがとうございました!
447 :デフォルトの名無しさん :2018/11/11(日) 14:10:45.60 ID:eqm/EHYd.net 上の方のレスにも関連したものがありますが、 ファイルから読み込んだ文字列データにて パターンマッチがヒットしません。 同一文字列を直接コード内に定義すると、ヒットします。 出来ればファイルに切り出したいので、 ご教示いただけますでしょうか。
448 :デフォルトの名無しさん :2018/11/11(日) 14:11:11.73 ID:eqm/EHYd.net [環境] Activeperl win8.1 or 2016 server perl -v This is perl 5, version 24, subversion 3 (v5.24.3) built for MSWin32-x64-multi-thread [コード utf-8で作成] #res[1]にはcp932のコードの「テスト」を含む文字列が格納されている。 $res[1] = Encode::decode('cp932', $res[1]); #patern.txtはutf-8で「テスト」の文字列が格納されている。 open (FILE, "<:utf8", "patern.txt") or (die "$!"); my $line = <FILE>; close(FILE); #$line = 'テスト';←#を外して直接コードに書くとヒットする。 print encode('cp932', $line);(正常に取得できている。) if ($res[1] =~ /$line/){ print "Hit!"; } else{ print "not Hit"; } ---出力--- >テスト >not Hit
449 :デフォルトの名無しさん :2018/11/11(日) 16:14:59.60 ID:56YuZzmp.net >>448 改行文字の有無?
450 :デフォルトの名無しさん :2018/11/11(日) 18:17:18.70 ID:t5AG7sJB.net たぶんそれだな。$line の中身が "テスト\r\n" または "テスト\n" になってそう。
451 :デフォルトの名無しさん :2018/11/12(月) 00:16:54.10 ID:MtlIUxHY.net chomp($line); するべき
452 :デフォルトの名無しさん :2018/11/12(月) 07:45:13.53 ID:8fj5l105.net 遅くなりすみません。 テストファイルには改行を入れていなかったのですが、 chompが必要なのですね。 ファイルからレコードを取得するにはchompが必要と勉強になりました。 ありがとうございました。
453 :デフォルトの名無しさん :2018/11/12(月) 09:22:08.61 ID:I5PkaEyl.net >>452 いや、改行は入っていると思うぞ。でなければあのプログラムでは一致する。
454 :デフォルトの名無しさん :2018/11/13(火) 17:15:58.77 ID:WOZg75XW.net utf-8がボムがついている可能性もあるね
455 :デフォルトの名無しさん :2018/11/13(火) 17:46:33.84 ID:/6RlnNZj.net ところでUTF-8にBOMってなんか意味あるの? ビッグエンディアンで上のビットから詰め込んで並べている1パターンしかないよね?
456 :デフォルトの名無しさん :2018/11/13(火) 18:09:12.36 ID:3HdfrOce.net >>455 あるよ、BOMがあればUTF-8だと文字コードを 簡単に判定できる つまり、文字化け防止に役立つ みんなBOM付けるようにすれば良かったんだけどな
457 :デフォルトの名無しさん :2018/11/13(火) 19:44:37.81 ID:/6RlnNZj.net あー。magic用か。
458 :デフォルトの名無しさん :2018/11/14(水) 00:34:48.87 ID:efwoHdbt.net >>452 ですが、改行が入っていました。 遅くなりすみません。 すみませんでした。確認をしっかりします。 もう一つ質問があるのですが、>>452 の環境にて、パターンマッチングを、全角、半角、ひらがな、カタカナ、大文字、小文字を区別することなく行いたいのですが、方法をご教示いただけますでしょうか。
459 :デフォルトの名無しさん :2018/11/14(水) 09:45:09.68 ID:bDqFuzUS.net >>458 手順としてはまず比較に都合のいいように比較する側とされる側の文字列を正規化する。 例えば半角は全て全角にし、濁点や半濁点はそれを含んだ文字にし、英小文字は大文字にする。 それから比較を行う。 ただし使われている文字がASCIIの文字だけならば // のオプションで i が使えるので正規化不要。
460 :デフォルトの名無しさん :2018/11/14(水) 12:24:46.73 ID:XfG22Q3S.net 教えて下さい。 my @str4=['a','b','c','d','e']; my $ref4=\@str4; print $str4[0][1],"\n"; # b print @{ $str4[0] },"\n"; # abcde ref4を使って同様に b と abcde を表示するには、どうしたらいいですか?
461 :デフォルトの名無しさん :2018/11/14(水) 12:38:11.11 ID:XfG22Q3S.net うっかり自己解決しました。数時間悩んだのに。 print @{ ${ $ref4 }[0] }; print @{ ${ $ref4 }[0] }[1];
462 :デフォルトの名無しさん :2018/11/14(水) 19:36:24.69 ID:dXHPcciK.net >>459 オプションで可能であればと思ったのですが、マッチング文字列と対象を同じ文字種にしないといけないんですね。 ActivePerlでUnicode::Japanese でUTF8から変換して書いてみたのですが、cp932にencodeすると、化けてしまい、使用できませんでした。 ActivePerlで使用可能なモジュールあればコードではなくてかまいませんので、何かあれば紹介してもらえますでしょうか。
463 :デフォルトの名無しさん :2018/11/14(水) 20:41:47.52 ID:bryEJhFF.net UNICODEにはcomposed、decomposedというややこしいものもあるんだよね。 https://pointoht.ti-da.net/e8205606.html Unicode::Normalizeってのがあるけど、日本語を特別扱いしてくれたりはしなさそうな予感。
464 :デフォルトの名無しさん :2018/11/14(水) 22:57:23.73 ID:otO/yyOk.net >>455-457 Linux では、BOM なしUTF-8 を使う、アプリ開発者が多く、 BOMありにするとバグるアプリがあるから、BOMなしを使っているけど、 そうすると、Windows では、sjis と区別がつかなくなり、 Explorer での文字列検索ができなくなる だから、Windows10 で、WSL, Ubuntu を導入して、grep を使っている
465 :462 :2018/11/14(水) 23:51:54.30 ID:otO/yyOk.net 結合文字列をUnicode正規化で合成する方法の危険性 https://qiita.com/monokano/items/d4c37d9bc9833eaeda6e 濁点・半濁点を別の1文字として扱う、結合文字列はMac だけだから、Mac を使わないなら関係ない Unicode正規化は、日中韓で、別の漢字に変換されるものがあるから使えない Ruby では、sjis・UTF-8 の変換は、ファイル読み書き時に指定できる。 CRLF・LF の改行コードの違いは、意識したことがない。 chomp とか、どちらの改行コードでも、正常に動く
466 :462 :2018/11/15(木) 00:11:38.19 ID:g74yzjtM.net 【 nkf 】コマンド――文字コードと改行コードを変換する http://www.atmarkit.co.jp/ait/articles/1609/29/news016.html これで全角・半角の変換もできる Perl にも、モジュールもあるのでは?
467 :デフォルトの名無しさん :2018/11/21(水) 22:55:48.65 ID:M0TZNmLm.net >>466 有料ですがnkfのActivePerl用をnamazuというところから購入しましたが、 nkfで変換後、utf8でマッチングが不可能で調査中です。
468 :デフォルトの名無しさん :2018/11/21(水) 23:00:44.11 ID:M0TZNmLm.net ハッシュを要素に持つハッシュへのアクセスについて ご教示いただけますでしょうか。 下記のコードで、読込は正常に完了しますが、出力が不可能です。 $$を使用したり、試しましたがギブアップです。 #hash.txtの中身(タブ区切り) #1 10 テスト1 #2 5 テスト2 use Encode; use utf8; my %table; my %rec; open (FILE, "<:utf8", "hash.txt") or (die "$!"); while(my $line = <FILE>){ chomp($line); @d = split(/\t/, $line); %rec = ('id' => $d[0], 'count' => $d[1], 'name' => $d[2]); $table{$d[0]} = \%rec; print encode('cp932', $table{$d[0]}{'id'})."\t". encode('cp932', $table{$d[0]}{'count'})."\t".encode('cp932', $table{$d[0]}{'name'})."\n"; } close(FILE); print Encode::encode('cp932', "読込完了\n"); foreach my $row (@$wrote_num){ #出力不可能 print encode('cp932', $row{'id'})."\t". encode('cp932', $row{'count'})."\t".encode('cp932', $row{'name'})."\n"; } print Encode::encode('cp932', "$出力完了\n");
469 :デフォルトの名無しさん :2018/11/22(木) 00:04:25.39 ID:V9xGGA7p.net wrote_numが何か分からんけど my %rec; はwhile内にしたらどうですか あと、$rowはハッシュのリファレンスだろうから$row->{'id'}では
470 :デフォルトの名無しさん :2018/11/22(木) 10:12:03.32 ID:iCX1SQ90.net >>469 すみません、レス用に書き換えた元がwote_numでした 下記の様に変えましたが、アクセスできません。 意外と難しいですね。 use Encode; use utf8; my %table; open (FILE, "<:utf8", "hash.txt") or (die "$!"); while(my $line = <FILE>){ chomp($line); @d = split(/\t/, $line); my %rec = ('id' => $d[0], 'count' => $d[1], 'name' => $d[2]); $table{$d[0]} = \%rec; print encode('cp932', $table{$d[0]}{'id'})."\t". encode('cp932', $table{$d[0]}{'count'})."\t".encode('cp932', $table{$d[0]}{'name'})."\n"; } close(FILE); print Encode::encode('cp932', "読込完了\n"); foreach my $row (@$table){ print encode('cp932', $row->{'id'})."\t". encode('cp932', $row->{'count'})."\t".encode('cp932', $row->{'name'})."\n"; } print Encode::encode('cp932', "$出力完了\n"); 実行結果:まだアクセスできません >hash_test.pl 1 10 テスト1 2 5 テスト2 読込完了 出力完了
471 :デフォルトの名無しさん :2018/11/22(木) 10:30:19.76 ID:Enb78Zev.net これでいけると思いましたが、玉砕でしたw foreach my $row (@$table){ while (my ($id, $count, $name) = each(%row)){ print encode('cp932', "$id\t$count\t$name\n"); }
472 :デフォルトの名無しさん :2018/11/22(木) 10:54:51.08 ID:iCX1SQ90.net これでいけました! foreach my $row (keys %table){ print encode('cp932', "$table{$row}{'id'}\t$table{$row}{'count'}\t$table{$row}{'name'}\n"); } >hash_test.pl 1 10 テスト1 2 5 テスト2 読込完了 1 10 テスト1 2 5 テスト2 出力完了 ただ、key を外して foreach my $row (%table)とすると下記の通り改行が入ります 1 10 テスト1 2 5 テスト2 出力完了
473 :デフォルトの名無しさん :2018/11/22(木) 11:07:56.03 ID:Enb78Zev.net これで全てのハッシュ要素を出力できますが、 カラム順が不確定になってしまいますね。 ハッシュなので仕方ないことですかね。 foreach $row (sort keys %table) { foreach $col (sort keys %{$table{$row}}) { print encode('cp932', "$table{$row}{$col}\t"); } print "\n"; } >hash_test.pl 1 10 テスト1 2 5 テスト2 読込完了 5 2 テスト2 10 1 テスト1 出力完了
474 :デフォルトの名無しさん :2018/11/22(木) 12:53:27.47 ID:+z2Jd1go.net >>473 キーだけ別の配列に取っといてそれ使えば?
475 :デフォルトの名無しさん :2018/11/25(日) 19:58:05.78 ID:Ngr2zrFy.net >>474 できれば要素をカラム名でアクセスしたいのでハッシュの方がいいのですが、カラム順固定出力は配列しかないということですね。
476 :デフォルトの名無しさん :2018/11/25(日) 21:54:59.45 ID:CqrOufwt.net 両方使えば良いのでは たまにやるよ
477 :デフォルトの名無しさん :2018/11/26(月) 04:07:41.06 ID:LFi/GsCA.net >>473 foreach $col (sort keys %{$table{$row}}) { を foreach $col (qw/id count name/) { とかでは? keyの名前も順番も分かってるんだし。
478 :デフォルトの名無しさん :2019/06/24(月) 04:43:33.88 ID:4+LiJo6+.net 自分が昔質問したことにたいして今なら回答できる <> は <STDIN> の単なる略ではなく @ARGV が捕れない副作用があった そこに詰まっていた #!/usr/bin/env perl use 5.010; if (-p STDIN) { print "May be pipe is used. I've got STDIN as below\n"; # my @lines = <STDIN>; # when <> used, perl think no @ARGV map {state $i; ++$i;print "$i $_" } <STDIN>; } else { print "This may be just single running.\n"; } map {state $i; ++$i; print "$i argment found ==> $_\n"} @ARGV;
479 :デフォルトの名無しさん :2019/08/29(木) 20:58:11.72 ID:72vdfcsY.net タグを除去したいのですが、<>も文に入っているため <.*?>ではなく<("[^"]*"|'[^']*'|[^'">])*>を使いたいのですが perl -pe '<("[^"]*"|'[^']*'|[^'">])*>' にする場合どれどれをエスケープすればよいでしょうか? ’だけだと動きませんでした。 perl -pe '<("[^"]*"|\'[^\']*\'|[^'">])*>'
480 :デフォルトの名無しさん :2019/08/30(金) 12:09:22.02 ID:VkI78Ia/.net 除去?だったらs/パターン//gみたいにやらないと何も変わらないのでは? てか、それエラーにならないの?
481 :デフォルトの名無しさん :2019/08/30(金) 13:51:46.18 ID:XCxRWcZV.net 5chの書き込みのほう、つけ忘れてました perl -pe 's/<("[^"]*"|'[^']*'|[^'">])*>//g' です perl -pe 's/<.*?>//g'は動くんですけど perl -pe '<("[^"]*"|\'[^\']*\'|[^'">])*>'だと動かないんですよね
482 :デフォルトの名無しさん :2019/08/30(金) 13:52:36.95 ID:XCxRWcZV.net またやっちゃった perl -pe 's/<("[^"]*"|\'[^\']*\'|[^'">])*>//g'
483 :デフォルトの名無しさん :2019/08/30(金) 17:21:58.25 ID:8Dc5lx9D.net こうか? perl -pe 's/<("[^"]*"|'"'"'[^'"'"']*'"'"'|[^'"'"'">])*>//g' perlというよりシェルのシングルクォートの問題
484 :デフォルトの名無しさん :2019/08/30(金) 17:42:16.91 ID:fIMZQtfT.net そこまでするくらいなら HTML::Parser を使う方がいいと思うよ。
485 :デフォルトの名無しさん :2019/08/30(金) 17:56:41.24 ID:XCxRWcZV.net >483 できました!、ありがとうございます。 'を'""'で括るのですね なんで\でエスケープにならないんでしょうね
486 :デフォルトの名無しさん :2019/08/30(金) 18:04:26.61 ID:XCxRWcZV.net パーサーも一度使ってみたんですが <p>hoge</p><p>hoge</p> pタグが一行に2つあると誤作動したりするんですよね
487 :デフォルトの名無しさん :2019/08/30(金) 23:22:18.80 ID:fIMZQtfT.net その誤作動がパーサーのせいかどうかは判らないが、少なくとも HTML::Parser でそんなことは起こらないから安心してほしい。 たとえばテキスト部分だけを出力したいならこんな感じでできる。 my $parser = HTML::Parser->new( text_h => [sub { print( $_[0]) },'text'], ); $parser->parse_file( \*STDIN);
488 :デフォルトの名無しさん :2019/08/31(土) 00:18:32.04 ID:mx6W2BK8.net >487 参考になります。 パーサーもいろいろ種類あるみたいですね。 自分の使ってたのはhtml-xml-utilsというやつでした。
489 :デフォルトの名無しさん :2021/04/21(水) 00:35:38.31 ID:J2c8I4ei.net @aに0を100ケ追加するには、pushをforで100回回す以外の方法ありますか
490 :デフォルトの名無しさん :2021/04/21(水) 03:07:59.27 ID:aE0oGLsa.net push(@a, (0) x 100);
491 :デフォルトの名無しさん :2021/04/27(火) 18:16:47.03 ID:OX0aAdkQ.net >>490 ありがとうございました 俺が遅くなりまして申し訳ありません
492 :デフォルトの名無しさん :2021/11/19(金) 22:27:21.73 ID:v67hT9Zk.net 二つ以上の空白文字列を 一つの空白に変えたいのですが うまくいきません。 if($line=~/\s\s+/){ $line=~s/\s\s+/\s/g print("$line\n") }
493 :デフォルトの名無しさん :2021/11/20(土) 02:07:02.21 ID:h6kzSIM/.net $line=~s/¥s¥s+/ /g では?
494 :デフォルトの名無しさん :2021/11/20(土) 20:14:01.04 ID:xbsxU5SW.net s/\s\s+/ /g; でうまくいったよ。 そうか、\sって正規表現だから、置換文字列に使うと「perl にそんな定義ないで!」ってなるのか。 これは俺も気を付けよう。
495 :デフォルトの名無しさん :2021/11/20(土) 20:36:42.09 ID:xbsxU5SW.net 置換といえばこのまえ、JSONで取得したUnicodeを表示したくて、 \u3042 → \N{U+3042} に置換しようとしたけど、できなかった。 \N{U+ }←ここにはリテラルしか書けないのかな。
496 :デフォルトの名無しさん :2021/12/14(火) 19:15:14.22 ID:LP8Fmqr9.net if文で真偽値を判定するのってどうやるの? hoge() or die("Error\n"); ってなってた(hoge()の戻り値が魏ならエラー)のを標準出力したくて my $a = hoge(); if( ! $a ){ print("Error\n"); exit $!; } みたいにしたんだけど、if文の書き方ってこんなんで良いの?
497 :デフォルトの名無しさん :2021/12/25(土) 19:09:39.02 ID:pJ3Bii8w.net >>496 0を返しても、0といb、文字(アスキーコード0x30)として扱われたりするから、俺は if(scalar($a)) { とか if($a eq 0) { とかするよ。
498 :デフォルトの名無しさん :2021/12/25(土) 20:31:09.16 ID:62MjaTIU.net >>496 良い。 ! で条件反転させるんだったら unless 使っても良いと思うけどね。 unless ($a) { ... } みたいに。
499 :デフォルトの名無しさん :2021/12/30(木) 05:41:55.25 ID:grPlj9k3.net 良くないんだってば。 Perlをそういう流儀でやってるといつか痛い目にあうよ。
500 :494ではない :2021/12/30(木) 08:07:22.12 ID:j5bdR14I.net >>497 マジか。 my $a = hoge(); において、左辺が 0、右辺が 0x30 になるのは、言語としてぶっ壊れているんじゃね?
501 :デフォルトの名無しさん :2021/12/30(木) 17:49:56.83 ID:QArx8wCq.net そういう言語なの 0 but true なんていう値もあるし
502 :デフォルトの名無しさん :2022/01/10(月) 19:33:13.97 ID:2hS04FMw.net do what perl mean
503 :デフォルトの名無しさん :2022/01/11(火) 00:17:50.61 ID:Xf79Fgui.net bool値ほしい
504 :デフォルトの名無しさん :2022/03/27(日) 23:43:39.11 ID:TRkpHzjA.net >>499 じゃあどうすればいいの?
505 :デフォルトの名無しさん :2022/04/28(木) 20:33:01.74 ID:KupWcmJ5.net 元の hoge() or die("Error\n"); が問題なく動いてるなら hoge() or print("Error\n"), die $!;
506 :デフォルトの名無しさん :2022/06/11(土) 13:31:52.57 ID:XcUjU1KU.net hoge()が0を返しうるかどうかもわからんと思うのだが >元の >hoge() or die("Error\n"); >が問題なく動いてるなら という前提の下で >>497 の配慮に意味があるの? >>498 で十分 hoge() or が動くという前提を無視するとして もしもhoge()が0を含む数値か失敗を返すなら(空文字を含む文字列か失敗でもいい) 失敗にundefを返してdefinedで受けるのがフツー
507 :デフォルトの名無しさん :2023/12/15(金) 06:59:42.19 ID:aRdlBUAD.net $_ ← これ、なんて読む? perlが発祥ってわけでもないそうだが(bashとかにもあるんだってね)、ガチのドザなので 俺は内心ドルバーって呼んでる
508 :デフォルトの名無しさん :2023/12/19(火) 00:32:16.33 ID:LgO8Ui43.net ドル・アンダーバーじゃないかな。 設定によってはチルダの代わりにトップバーってのがあったから、それと区別するのにアンダーって言ってた気がする。
509 :505 :2023/12/21(木) 12:15:47.33 ID:nsa/DjJa.net おつあり そういやそんなの(トップバー)あったねえ なるほど
510 :デフォルトの名無しさん :2024/02/09(金) 17:07:48.28 ID:LEmbefGZ.net V5.38.2 32ビット https://github.com/StrawberryPerl/Perl-Dist-Strawberry/releases/tag/SP_5382_32bit 64ビット https://github.com/StrawberryPerl/Perl-Dist-Strawberry/releases/tag/SP_53822_64bit
511 :デフォルトの名無しさん :2024/03/03(日) 23:39:10.39 ID:1cRqRnnX.net なつかしのcgiゲームを設置したくてperlを触ってるのですが、今の時代でもcgiゲームはサーバーへの負荷は大きいのでしょうか?(昔はよくゲームの設置が禁止されてましたが) perlと関係なかったらすみません…
512 :デフォルトの名無しさん :2024/03/16(土) 03:41:28.53 ID:I49Gallj.net StrawberryPerlで $str='あ'; if ($str =~ /^[あいう]$/) {print("match\n");} を実行してみるとマッチしてくれません /^(あ|い|う)$/ ならマッチするのですが 古いPerl4のjperlなら /^[あいう]$/ でもマッチします やはりこれはStrawberryPerlのバグ(または仕様)なのでしょうか
513 :デフォルトの名無しさん :2024/03/16(土) 08:42:58.43 ID:E8XsMGej.net print length $str; を入れてみたらわかる
514 :デフォルトの名無しさん :2024/03/16(土) 09:03:33.98 ID:E8XsMGej.net もしかして: \p{sc=Hiragana}
515 :デフォルトの名無しさん :2024/03/16(土) 09:16:48.08 ID:1WMRgWrv.net ネタにマジレス
516 :デフォルトの名無しさん :2024/03/16(土) 11:57:07.41 ID:Xoe9pkvE.net >>513 レスどうもです Shift-JISの環境で正しく2とカウントされてます 前記はあくまで例ですので全角文字なら他の文字でもこうなるみたいで ひらがなにマッチさせたいわけではないんです
517 :デフォルトの名無しさん :2024/03/16(土) 15:20:26.94 ID:e8kHlvhU.net 少なくともperl5.8以降の文字クラスはuse utf8;前提になっててlengthが1じゃないとだめじゃね?
518 :デフォルトの名無しさん :2024/03/16(土) 15:27:36.56 ID:HqlfXJdH.net 推奨されてないけど use encoding 'sjis' ならsjisでコード書けたと思う jperlナツカシス
519 :デフォルトの名無しさん :2024/03/24(日) 16:38:15.53 ID:gHSiAGjm.net Windows では Filter::Encoding いれて使ってた スクリプトは utf-8 で書いて use utf8 してたけど コマンドラインでは -MFilter::Encoding=cp932 とか
136 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★
本文 スレッドタイトル 投稿者