- 1 名前:デフォルトの名無しさん [2014/02/19(水) 23:36:23.29 .net]
- CGIについての質問は板違いです。WEBプログラミング板でどうぞ。
CGIとPerlの区別がつかない人もWEBプログラミング板に行ってください。 (WEBプログラミング板: kohada.2ch.net/php/) このスレでは(CGI以外の)純粋にPerlのみに関係する質問を取り扱っていこうと思います。 スレ違いの質問にはスルーか、速やかな誘導をお願いします。 荒らしはスルー推奨。 "The duct tape of the Internet" こと、Perlについての質問箱です。 "There's more than one way to do it" ということで、 Perlの奥深さについて皆で語り合い、追求してまいりましょう。 www.perl.org/get.html Download Latest Stable Source (5.18.2) ▼前スレ Perlについての質問箱 61箱目 toro.2ch.net/test/read.cgi/tech/1381561905/ Perlについての質問箱 62箱目 toro.2ch.net/test/read.cgi/tech/1385039352/
- 2 名前:デフォルトの名無しさん [2014/02/19(水) 23:37:34.89 .net]
- 【本】
初めてのPerl 第6版(リャマ)[2012年07月 発行] www.oreilly.co.jp/books/9784873115672/ 続・初めてのPerl 改訂第2版 [2013年08月 発行] www.oreilly.co.jp/books/9784873116280/ マスタリングPerl [2009年03月 発行] www.oreilly.co.jp/books/9784873113975/ もっと自在にサーバを使い倒す 業務に役立つPerl [2012年4月11日発売] gihyo.jp/book/2012/978-4-7741-5025-3 モダンPerl入門 [2009/2/10] www.amazon.co.jp/exec/obidos/ASIN/4798119172/secodezine-22/ モダンPerl入門 増補改訂版(仮)[2014年1月予定] codezine.jp/book/modernperl2 Perl CPANモジュールガイド [2011/4/8] www.amazon.co.jp/dp/486267108X 【オンライン
- 3 名前:マニュアル】
最新のドキュメント: http://search.cpan.org/dist/perl/ perldoc.jp: http://perldoc.jp/ perldoc.perl.org: http://perldoc.perl.org/ [] - [ここ壊れてます]
- 4 名前:デフォルトの名無しさん mailto:sage [2014/02/19(水) 23:38:16.54 .net]
- [少し古めの良書]
プログラミングPerl 第3版 VOLUME 1,2(駱駝)[2002年09月 発行] www.oreilly.co.jp/books/4873110963/ www.oreilly.co.jp/books/4873110971/ Perlクックブック 第2版 VOLUME 1,2 [2004年09月 発行] www.oreilly.co.jp/books/4873112028/ Perl ベストプラクティス [2006年08月 発行] www.oreilly.co.jp/books/4873113008/ Perl Hacks [2007年01月 発行] www.oreilly.co.jp/books/9784873113142/ 実用 Perlプログラミング 第2版 [2006年03月 発行] www.oreilly.co.jp/books/487311280X/
- 5 名前:デフォルトの名無しさん mailto:sage [2014/02/19(水) 23:38:56.41 .net]
- 【日本語、Unicode関連】
Encodeモジュール search.cpan.org/dist/Encode/ 第31回 encoding:いつまでもjperlから抜け出せない方に gihyo.jp/dev/serial/01/modern-perl/0031 第32回 Encode:日本語だけ扱えればよいのではなく gihyo.jp/dev/serial/01/modern-perl/0032 perlunifaq - Perl Unicode FAQ perldoc.jp/docs/perl/5.18.1/perlunifaq.pod perlunicode - Perl における Unicode サポート perldoc.jp/docs/perl/5.12.1/perlunicode.pod www.rwds.net/kuroita/program/Perl_unicode.html 【モジュール】 CPAN.com: search.cpan.org/ 【Perl環境構築】 plenv https://github.com/tokuhirom/plenv cpanm search.cpan.org/~miyagawa/App-cpanminus-1.7001/lib/App/cpanminus.pm perldoc.jp/docs/modules/App-cpanminus-1.7001/lib/App/cpanminus/fatscript.pod
- 6 名前:デフォルトの名無しさん mailto:sage [2014/02/19(水) 23:39:35.34 .net]
- # [Perl 日本語処理の基礎の基礎]
# このレスは、Windows の ActivePerl で日本語処理を行う場合のテンプレートです。 # 入出力ともシフト JIS 形式のファイルまたは DOS 窓を想定しています。 use utf8; use open IO => ":encoding(cp932)"; binmode STDIN => ":encoding(cp932)"; binmode STDOUT => ":encoding(cp932)"; binmode STDERR => ":encoding(cp932)"; use Encode; # 以上の内容は、日本語処理が解らない人でも、とりあえず日本語処理ができてしまう # おまじないです。
- 7 名前:デフォルトの名無しさん mailto:sage [2014/02/19(水) 23:46:41.13 .net]
- 糞スレいくつも立ててんじゃねーよ
いい加減にしろ toro.2ch.net/test/read.cgi/tech/1392639772/
- 8 名前:デフォルトの名無しさん mailto:sage [2014/02/19(水) 23:48:52.70 .net]
- ■推移
ttp://www.tiobe.com/index.php/content/paperinfo/tpci/index.html 2013.Dec 1.072% 2014.Jan 0.917% 2014.Feb 0.887% ■推移グラフ ttp://www.tiobe.com/index.php/content/paperinfo/tpci/Perl.html ■Perlの今後 他言語に対する優位性がほとんどないため、消滅に向かって進んでいる。 近い将来消えるのは確実。
- 9 名前:デフォルトの名無しさん mailto:sage [2014/02/20(木) 01:15:48.35 .net]
- TIOBEって日本じゃほとんど聞いたことがないよね?Perlは日本語をちゃんと処理
できる数少ない処理系だから、海外とは状況が違うと思うんだよね
- 10 名前:デフォルトの名無しさん mailto:sage [2014/02/20(木) 01:40:45.62 .net]
- 自分がほとんど聞いたことがないという無知っぷりを晒しつつ
その前提で語る基地害がPerl厨
- 11 名前:デフォルトの名無しさん mailto:sage [2014/02/20(木) 02:48:27.42 .net]
- 乱立してる統計サイトの内の一つで、たいしたサイトじゃない。
langpop.com/ こんなサイトもあって、今話題に登ってる言語の項目とか見たら PHPもPerlも似たりよったり。 こんなもんに一喜一憂するのはアホのする事。 #別に「Perlが落ち目じゃない」と主張するつもりも、毛頭無い。
- 12 名前:デフォルトの名無しさん mailto:sage [2014/02/20(木) 03:30:30.50 .net]
- 乱立といえばム板にスレッド乱立させてるPerl厨みたいだな
いい加減迷惑なんだよゴキブリ共 消滅寸前のゴミ言語にこんなにスレッドは必要ない Perlについて toro.2ch.net/test/read.cgi/tech/1217851121/ 【モダン推奨】Perlについての質問箱 50箱目 toro.2ch.net/test/read.cgi/tech/1327110999/ Perl初心者スレ(マジレス回答) toro.2ch.net/test/read.cgi/tech/1349538519/ Perlについての罵倒スレ 63箱目 toro.2ch.net/test/read.cgi/tech/1392639772/ Perlについての質問箱 63箱目 toro.2ch.net/test/read.cgi/tech/1392820583/
- 13 名前:デフォルトの名無しさん mailto:sage [2014/02/20(木) 07:42:53.27 .net]
- WebProgの方で、その活動すれば?
そのスレの内三つは荒しが立てたスレだし、Perlと名前が入るスレ自体も10個しかないけど 向うには両手に余るくらいのスレは乱立してるぞ。
- 14 名前:デフォルトの名無しさん mailto:sage [2014/02/20(木) 11:23:00.57 .net]
- 久々の正式なスレ立て乙
個人的には「ミニマルPerl」が俺の目を覚ましてくれた本だなあ まあ、解ってる人には間違いなく退屈な本だけれども
- 15 名前:デフォルトの名無しさん mailto:sage [2014/02/20(木) 16:17:33.48 .net]
- スレ乱立のうちの1つだから全く乙じゃない
ただの迷惑行為
- 16 名前:デフォルトの名無しさん mailto:sage [2014/02/21(金) 00:39:44.03 .net]
- 重複によりこのスレには削除依頼が出されました
↓のスレに移動してください 【誘導】 Perlについての質問箱 63箱目 toro.2ch.net/test/read.cgi/tech/1392906213/
- 17 名前:デフォルトの名無しさん mailto:sage [2014/02/21(金) 00:46:22.39 .net]
- 【プログラミング自体の経験が無い奴はまずココを読め]】
Perl プログラミング講座: ttp://nyx.pu1.net/ 【本】 リャマ: ttp://www.oreilly.co.jp/books/4873112575/ 駱駝: ttp://www.oreilly.co.jp/books/4873112869/ Effective Perl: ttp://www.c-r.com/book/detail/888 クックブック: ttp://gihyo.jp/book/2012/978-4-7741-4972-1 Perl ベストプラクティス: ttp://www.oreilly.co.jp/books/9784873113425/ Perl Hacks: ttp://www.oreilly.co.jp/books/4873112915/ 【オンラインマニュアル】 最新のドキュメント: ttp://blog.livedoor.jp/kumagai_nori/archives/52255109.html perldoc.jp: ttp://bg.pi-ppi.com/ perldoc.perl.org: ttp://manual.xwd.jp/
- 18 名前:デフォルトの名無しさん mailto:sage [2014/02/21(金) 15:41:53.76 .net]
- 例のPHP厨毒の精神異常者がスレを乱立させてから動きがパッタリやんだが、規制食らったのか?
それとも夜に活動が再開されるのか?
- 19 名前:デフォルトの名無しさん mailto:sage [2014/02/21(金) 15:48:29.84 .net]
- 乱立させてたのってPHPユーザーなの?
てっきりPerl厨だと思ってたんだけど。 スレ乱立とか頭の悪いことをするのはPerlを選ぶような知能の低いPerl厨くらいしかいないだろ。
- 20 名前:デフォルトの名無しさん mailto:sage [2014/02/21(金) 16:10:45.03 .net]
- php厨()とか妄想をベースに考えるから、事実と整合性が取れなくなって>>17みたいな書き込みをするようになる
というかその不整合からくる違和感に耐えられなくなって書き込んでるって言ったほうが正解か >>17は自覚がないみたいだけど糖質の疑いがある
- 21 名前:デフォルトの名無しさん mailto:sage [2014/02/21(金) 17:14:07.34 .net]
- 自演乙
- 22 名前:デフォルトの名無しさん mailto:sage [2014/02/21(金) 17:39:17.06 .net]
- >>17
糖質も発見が早ければ投薬で治療できるから病院行ってみたら?
- 23 名前:デフォルトの名無しさん mailto:sage [2014/02/21(金) 18:43:53.70 .net]
- 自己紹介乙
- 24 名前:デフォルトの名無しさん mailto:sage [2014/02/21(金) 19:36:32.84 .net]
- >>17ってまさか本当に自覚ないのかな。
- 25 名前:デフォルトの名無しさん mailto:sage [2014/02/21(金) 19:39:12.82 .net]
- >>23
>>23
- 26 名前:デフォルトの名無しさん mailto:sage [2014/02/21(金) 22:00:12.92 .net]
- 自覚があれば病院行くだろうし
糖質と診断されればネットは控えろと言われるだろうから こんなところにはいない
- 27 名前:デフォルトの名無しさん mailto:sage [2014/02/21(金) 22:18:44.98 .net]
- 罵倒スレのほうが内容にマッチしてるじゃん、何でわざわざ質問箱で立て直したの?
- 28 名前:デフォルトの名無しさん mailto:sage [2014/02/22(土) 02:27:43.89 .net]
- Perl厨にとってはこれが質疑応答なんだよ
- 29 名前:デフォルトの名無しさん mailto:sage [2014/02/23(日) 08:57:46.27 .net]
- 朝勃ちんこ
- 30 名前:デフォルトの名無しさん mailto:sage [2014/02/24(月) 19:35:06.10 .net]
- Perl=ちんこ言語
男のちんこをしゃぶれない弱輩には使いこなせない言語
- 31 名前:デフォルトの名無しさん [2014/08/23(土) 00:49:39.55 ID:j4ngjv2t.net]
- ぐろ
- 32 名前:デフォルトの名無しさん mailto:sage [2014/09/05(金) 22:30:13.20 ID:S+Rzc4u+.net]
- >>30
グロ
- 33 名前:デフォルトの名無しさん mailto:sage [2014/09/05(金) 23:11:47.51 ID:p4jkMY4H.net]
- 亀頭?
- 34 名前:デフォルトの名無しさん [2014/12/11(木) 16:19:01.34 ID:OlwBDLMK.net]
- perl 5(v5.16.3)で
d.hatena.ne.jp/syohex/20110616/1308237655 を走らせると BEGIN not safe after errors--compilation aborted at ~/op.pl line 16. と止まってしまいます。 解決策を教えてください。
- 35 名前:デフォルトの名無しさん mailto:sage [2014/12/11(木) 17:08:56.68 ID:aWaBOmKM.net]
- >>33
OSは何?
- 36 名前:デフォルトの名無しさん [2014/12/13(土) 11:26:51.16 ID:sck7BTkh.net]
- MacOSX1068です
- 37 名前:名無しさん@そうだ選挙に行こう mailto:sage [2014/12/13(土) 13:22:37.60 ID:toJAZvUP.net]
- >>35
mac持ってないから試せないけど、一応これで動くんじゃないかと。 adhocな対応でセキュリティ考えてないから注意してね。 open my $fh, '<', \(my $dmy = `@cmd`) or die "Can't exec @cmd";
- 38 名前:名無しさん@そうだ選挙に行こう [2014/12/13(土) 13:39:32.35 ID:SQgyoVwB.net]
- えーん
- 39 名前:デフォルトの名無しさん [2015/01/03(土) 02:38:43.41 ID:fziQOJOK.net]
- hage
- 40 名前:デフォルトの名無しさん mailto:sage [2015/06/08(月) 23:02:16.28 ID:fDJEyEgd.net]
- 正規表現で
aaa 99 PPP iii 87 XYZ uuu 32 XXX の PPP以降 と XYZ以降 と XXX以降 を取り出すのはどうすれば良いでしょうか? aaa iii uuu が半角の文字 99 87 32 が 数字である事は保証されていますが PPP XYZ XXX に至るまで半角スペース、もしくは全角スペースがいくつあるかは保証されておらず substr 等で切りだす事はできません。わかる方宜しくお願いします。
- 41 名前:デフォルトの名無しさん mailto:sage [2015/06/09(火) 00:25:53.38 ID:lkN1yBxE.net]
- 文章が不透明だから分からなくなる。(誰にも分からない)。
正規表現は完璧に仕様を出さないと書けない。出せば単にそれを書くだけ。 行頭は半角文字列である → ^[a-z] その後に半角スペースがある → \ (←見えないが半角スペース) その後に2桁の数値がある。 → [0-9]{2} その後に一文字以上の半角スペースと全角スペースが不定数混在する → ([\ \ ])+ その後に大文字が3つある → [A-Z]{3} 以降、行末まで。(取り出し対象文字列) → .*$ まぁ辞書やないんやけどな。ここは。
- 42 名前:デフォルトの名無しさん mailto:sage [2015/06/09(火) 00:26:47.75 ID:lkN1yBxE.net]
- あ、行頭は3文字か
^([a-z]{3})
- 43 名前:デフォルトの名無しさん [2015/09/30(水) 22:23:35.50 ID:sTs+YTNn.net]
- URLに?記号が2つある場合のデータの取得について
たとえばhttp://○○○.com/pagejump.cgi?http://△△△.com/disp.cgi?mode=testのよう?が2つある場合 $ENV{'QUERY_STRING'}だとhttp://△△△.com/disp.cgiまでしか取得できなくて?mode=testの部分が取得できないんですけど フルに取得できるにはどうしたらいいんですか?
- 44 名前:デフォルトの名無しさん mailto:sage [2015/10/01(木) 08:31:04.47 ID:jKkjZr1B.net]
- フル?
「http://○○○.com/pagejump.cgi?http://△△△.com/disp.cgi?mode=test 」の場合、 query文字列は、「http://△△△.com/disp.cgi?mode=test」 だから、それが取れれば 十分なのでは? その中の一部を取り出したいなら自分で好きに取り出せばいい
- 45 名前:44 mailto:sage [2015/10/01(木) 13:19:49.64 ID:NghmrQed.net]
- スマヌ質問内容理解してなかった
だがPerl関係なくね?
- 46 名前:デフォルトの名無しさん [2015/10/02(金) 00:15:42.88 ID:jBpUUsqc.net]
- >>42
本当にクライアントが http://○○○.com/pagejump.cgi?http://△△△.com/disp.cgi?mode=test を送ったのなら、それが原因だと思う。 URL の各部分は適切にエスケープされなければならない。 Perl でやるならこうだ。 use URI; use URI::Escape; $u = URI->new("http://○○○.com/pagejump.cgi"); $u->query( uri_escape("http://△△△.com/disp.cgi?mode=test")); # クライアントに適切なエスケープを期待出来ないなら……まあ、がんばってくれ。
- 47 名前:デフォルトの名無しさん mailto:sage [2015/10/02(金) 03:53:10.85 ID:j2xAjxnc.net]
- >>39-41
これで一致した、次の文字から、行末までを取得する ^([a-z]{3})([\ \ ])+[0-9]{2}([\ \ ])+ 半角・全角スペースは、「aaa○99○PPP」 ○の所にしか入らないのだな? つまり、各トークンの中には、入らないのだな? それなら、全行のすべての全角スペースを、 半角スペースに置換して、その後、 連続した半角スペースを、1つの半角スペースに置換する そして、8文字目から行末までを、取得する >>43-45 URLの各部分では、特別に扱う文字が決まっているから、 クエリ文字列部分で、「? =」・日本語などは使えないので、 エスケープする
- 48 名前:デフォルトの名無しさん mailto:sage [2015/10/03(土) 06:04:18.38 ID:AAE95wIv.net]
- 4ヶ月前にレスに回答(笑)
- 49 名前:デフォルトの名無しさん [2015/10/13(火) 20:00:49.41 ID:0lWpYFcj.net]
- andtokyo.jp
&TOKYO sub TOKYO { #だれか面白いルーチン書いて
- 50 名前:デフォルトの名無しさん [2015/11/08(日) 01:17:27.81 ID:ytCokofM.net]
- 趣味と勉強を兼ねてcgi使ったホームページを作ってるんだが
セッションって格納した値は、同じルーチン内でしか使えないの? 格納したセッションをLocationでとんだ先で取得したいんだけど 何かと組み合わせないとそういうのできないのかな
- 51 名前:uy ◆Qawu9.2l1E mailto:sage [2015/11/08(日) 02:42:11.75 ID:vxaYLa75.net]
- 暗い趣味
- 52 名前:デフォルトの名無しさん [2015/11/20(金) 13:59:09.99 ID:ygWQ/grN.net]
- test
- 53 名前:バイキンマン [2015/11/20(金) 14:01:31.29 ID:ygWQ/grN.net]
- プログラム板でもやっぱそうか・・・・・
バグ発見! 名前欄に0と英数字で入力すると出力されないバグ! 変数の文字の長さで入力を判定して出力させれば バグは治る! すぐに対処を申請します!
- 54 名前:デフォルトの名無しさん [2015/11/21(土) 21:10:33.25 ID:WD+kKzRm.net]
- >>49
セッションって?
- 55 名前:デフォルトの名無しさん mailto:sage [2015/11/21(土) 21:12:29.73 ID:WD+kKzRm.net]
- あっ、2週間前のレスだったすまん
- 56 名前:デフォルトの名無しさん [2015/11/23(月) 21:01:14.60 ID:4+JhTSZZ.net]
- a
- 57 名前:デフォルトの名無しさん [2015/11/23(月) 21:01:48.81 ID:4+JhTSZZ.net]
- 質問です。
#!/usr/bin/perl use strict; use warnings; use LWP::UserAgent; use HTTP::Request::Common qw(POST); my $ua = LWP::UserAgent->new; $ua->timeout('7'); my $req = POST('yahoo.co.jp'); my $res = $ua->request($req); print $res->content; のようにすると文字化けします。文字コードの指定方法も分からず困っております だれかおしえてくだあさい
- 58 名前:デフォルトの名無しさん mailto:sage [2015/11/24(火) 00:50:23.60 ID:oXoHv6i5.net]
- もらった文字列と、表示されている文字の、
文字コードが異なっているのだろう 文字を表示しているソフトの、文字コードを変えれば? たぶん環境変数か設定項目にある 文字を表示しているソフトは、何を使っているの?
- 59 名前:デフォルトの名無しさん mailto:sage [2015/11/24(火) 00:53:35.74 ID:s947wE2H.net]
- >>56
文字化けしてないよ
- 60 名前:デフォルトの名無しさん mailto:sage [2015/11/24(火) 00:56:04.50 ID:s947wE2H.net]
- yahoo.co.jpは301 Moved Permanently だけど、move先を指定しても文字化けはない
- 61 名前:デフォルトの名無しさん mailto:sage [2015/11/29(日) 01:33:56.66 ID:rf1AiNx3.net]
- win10の64bit版でperl32bit版動くかな?
ちなみにwin7の64bitではperl32動いてます
- 62 名前:デフォルトの名無しさん mailto:sage [2015/11/29(日) 03:12:21.07 ID:rf1AiNx3.net]
- もう1個のスレのほうがメインみたいなのでそっちで聞いてきます
- 63 名前:デフォルトの名無しさん [2016/02/12(金) 18:03:25.55 ID:/96fpKw+.net]
- ヒアドキュメントで表示は
print <<"EOS"; (中略) EOS だけど これをファイルに書き込むにはどうしたらいいんですか?
- 64 名前:デフォルトの名無しさん mailto:sage [2016/02/13(土) 12:32:20.94 ID:+ZsFTbcU.net]
- print $fh <<"EOS";
中身 EOS
- 65 名前:デフォルトの名無しさん [2016/02/14(日) 03:31:58.89 ID:kuEFe+X3.net]
- 別解として
perl script.pl > file.txt
- 66 名前:デフォルトの名無しさん [2016/02/14(日) 18:40:21.30 ID:kuEFe+X3.net]
- もしかして、Windowsのスタート→プログラム→アクセサリ→メモ帳
を実行して print <<"EOS"; (中略) EOS を打ちこみ、メモ帳のメニューのファイル→名前を付けて保存 のほうを知りたかったのですか?
- 67 名前:デフォルトの名無しさん mailto:sage [2016/02/16(火) 07:29:00.22 ID:y+ZjOqCo.net]
- いきなりだけどPerlのクラスの仕組み(かなり手抜き)
+ JavaScript の質問用スレッド vol.128 +©2ch.net peace.2ch.net/test/read.cgi/hp/1454390682/401- のJavaScriptのthisの話の余談 大雑把に言うとPerlのクラス(オブジェクト)はハッシュに毛が生えたもの ※この段階ではクラスではない。ただのハッシュを返すnew関数とそれを入れたKlassパッケージ package Klass; sub new { return {a=>1, b=>2 } } sub foo {} Perlにはメソッドというものはない。全て関数。 コンストラクタ(一般的にnewという名前にする)もただの関数。 Perlではクラスやオブジェクトはこのようにして呼び出す。 my $obj = Klass->new(); $obj->foo(); ここで問題がある。$obj->foo()は、Klass::foo()を呼び出すことになるが、 $obj(ただのハッシュ)からどうやってKlass::foo()であることを知るのか? ただのハッシュを返しているだけのnew関数にはそれは無理なので ただのハッシュに毛を生やす。 sub new { return bless({a=>1, b=>2 }, 'Klass') } これでただのハッシュじゃなくてKlassという情報がくっついたハッシュになった。 これで$obj->foo()はKlass::foo()を呼び出せる。
- 68 名前:デフォルトの名無しさん mailto:sage [2016/02/16(火) 07:29:53.95 ID:y+ZjOqCo.net]
- ここからが面白くて「アローの左側は関数の第一引数になる」というルールを追加する。
そうすると、Klass->new() という呼び出しは、 new('Klass') 相当になることがわかる。 ということで、newの第一引数にはクラスの文字列が入ってくるのでそれを使える。 sub new { my $class = shift; return bless({a=>1, b=>2 }, $class } さらに、$obj->foo() の呼出も同じ。 foo($obj) 相当になる。 なので、sub foo { my $self = shift; } の$selfにはnewの戻り値である 毛が生えたハッシュ、つまりオブジェクト自身(他の言語のthis相当)が入ってくることになる。 このようにアローの左側が第一引数になる。という挙動は他の言語でも一緒で JavaやC++は内部的にそれを行ってるだけ。 そしてJavaScriptでも.(ドット)の左側が第一引数になると考えると、 JavaScriptのthisがよくわからんという問題も簡単に理解できるはず。 JavaScriptのthisの話は元スレへどうぞ
- 69 名前:デフォルトの名無しさん mailto:sage [2016/02/16(火) 10:39:05.36 ID:rD0NYg0s.net]
- 面白いというか、みんな知ってると思う
- 70 名前:デフォルトの名無しさん mailto:sage [2016/02/17(水) 00:31:54.19 ID:xaInBBRG.net]
- うん。そしてそれが有用ならもっと使われているはずだが、現実はあまり使われていない。
コードが実行時に生成されるようなダイナミックなものはデバッグ、テスト、保守がしにくい。
- 71 名前:デフォルトの名無しさん mailto:sage [2016/02/17(水) 00:40:54.86 ID:wnysiCN2.net]
- >>69
何の話してるのお前?
- 72 名前:デフォルトの名無しさん mailto:sage [2016/02/19(金) 00:01:04.65 ID:ifdckMGM.net]
- 文字列の/*と*/で囲まれた部分と/*と*/に色をつけたい
例えば$str="/*abcdef*/";の場合は $str =~ s/\/\*/<font color=\"green\">\/\*/g; $str =~ s/\*\//\*\/<\/font>/g;でできましたが $str="/*//////abcdef/////*/";の場合はうまくできませんでした。 どうすればうまくいくのでしょうか?
- 73 名前:デフォルトの名無しさん mailto:sage [2016/02/19(金) 01:43:09.22 ID:jNAd9H+F.net]
- $str = ̄ s{(/¥*.*?¥*/)}{<font color=”green”>$1</font>}g;
- 74 名前:デフォルトの名無しさん mailto:sage [2016/02/22(月) 17:33:02.93 ID:BncrDEhF.net]
- my $data = {
'data1' => [1,2,3], 'data2' => [4,5,6], 'data3' => [7,8,9] }; 上のような配列のハッシュで ハッシュそれぞれの0番目、1番目、2番目のデータを 取り出したい場合どうすればいいのでしょうか for (my $i = 0; $i < 3; $i++) { print $data->{"data1"}[$i],"\n"; print $data->{"data2"}[$i],"\n"; print $data->{"data3"}[$i],"\n"; }
- 75 名前:デフォルトの名無しさん [2016/02/22(月) 22:57:33.32 ID:mB6Cjpa0.net]
- それで合ってるよ。
perldoc.jp/pod/perldsc を読みなさい。 $data->{
- 76 名前:デフォルトの名無しさん [2016/02/22(月) 23:01:42.17 ID:mB6Cjpa0.net]
- ごめん、ちゃんと書いたのに何かアクシデントがあったようだ。もう一回送るよ。
それで合ってるよ。 perldoc.jp/pod/perldsc を読みなさい。 $data->{"data1"}->[$i] が正式な書き方だが (配列|ハッシュ)要素の参照が連続していれば間の矢印を省略してもいい。 個人的には、リファレンスだということを意識していたいから省略しないけどね。
- 77 名前:デフォルトの名無しさん mailto:sage [2016/02/23(火) 03:28:09.20 ID:Oh6h4g2T.net]
- シングルクォートもダブルクォートも要らねぇ。
my $data = { data1 => [1,2,3], data2 => [4,5,6], data3 => [7,8,9] }; print $data->{data1}[$i],"\n";
- 78 名前:74 mailto:sage [2016/02/23(火) 09:55:37.41 ID:usPktkPU.net]
- >>74-76
勉強になりました。 ありがとうございます。
- 79 名前:デフォルトの名無しさん mailto:sage [2016/02/23(火) 10:27:03.85 ID:usPktkPU.net]
- Web::Scraperでスクレイピングしているのですが
サンプルでは use YAML; warn Dump $res; という書き方でこの方法だとデータの構造がよくわからないのですが Dump何をつかっているのですか? Ubuntu14.04の64bitを使っています。
- 80 名前:79 mailto:sage [2016/02/23(火) 11:04:41.58 ID:usPktkPU.net]
- >>78
データの構造はData::Dumperをイントールしたらわかるようになりました。 すみません。
- 81 名前:デフォルトの名無しさん mailto:sage [2016/02/24(水) 18:07:14.97 ID:E2TS40Hx.net]
- print $res->{list}[1]->{link}[0]->{url},"\n";
print $res->{list}[1]->{link}[0]->{title},"\n"; print $res->{list}[1]->{link}[1]->{url},"\n"; print $res->{list}[1]->{link}[1]->{title},"\n"; こういったデータをforeahで出力したい場合 ???にはどのようにかけばいいのでしょうか foreah my $i(???) { print $i->{url}; print $i->{title}; }
- 82 名前:デフォルトの名無しさん mailto:sage [2016/02/24(水) 19:01:01.43 ID:1Q1vaK3L.net]
- >>80
なんで同じのが2書いあるんだよ
- 83 名前:デフォルトの名無しさん mailto:sage [2016/02/24(水) 22:23:15.99 ID:VYWYZ9lH.net]
- >>80
my $links = $res->{list}[1]{link}; for my $link ( @$links ) { say $link->{$_} for qw/url title/; }
- 84 名前:デフォルトの名無しさん mailto:sage [2016/02/24(水) 22:43:39.56 ID:PL8yH0Su.net]
- >>82
say forの行が気持ち悪い。やり直し
- 85 名前:デフォルトの名無しさん mailto:sage [2016/02/24(水) 22:47:52.27 ID:VYWYZ9lH.net]
- >>83
やり直し(キリッ じゃなくて自分ならこうするというのを示せよw
- 86 名前:81 mailto:sage [2016/02/25(木) 09:33:24.21 ID:AM2kna+z.net]
- >>82
ありがとうございました。 一度変数に保存してからすればよかったのですね。 my $links = $res->{list}[1]{link}; for my $link ( $res->{list}[1]{link} ) { こういう書き方をしていてリストにするにはどうしたらいいのか わからないので質問させていただきました。 たいへん勉強になりましたありがとうございました。
- 87 名前:デフォルトの名無しさん mailto:sage [2016/02/25(木) 23:12:11.74 ID:B0t5yMaC.net]
- >>85
デリファレンスは一度代入しなくてもできるけどちょっとわかりにくいかなって for my $link ( @{ $res->{list}[1]{link} } ) { 新しい書き方だとこんなのもあったり(postfix dereferencing) $res->{list}[1]{link}->@*
- 88 名前:デフォルトの名無しさん mailto:sage [2016/02/26(金) 12:14:26.93 ID:lmpGubNL.net]
- 1位は「Python」、プログラミング言語別の平均年収ランキングが発表
www.mdn.co.jp/di/newstopics/44248/ 2位には「Perl」(平均年収633万円)、3位には「Ruby」(平均年収606万円)がランクインした。
- 89 名前:デフォルトの名無しさん [2016/02/27(土) 00:21:51.17 ID:7I91l6Zs.net]
- >>66-67
超亀レスですがありがとうございます、勉強になりました!
- 90 名前:デフォルトの名無しさん [2016/02/27(土) 00:49:08.38 ID:fhIzDVzC.net]
- my $date = '平成28年2月26日18:55';
my $week = '金'; $date =~ s/日/日 $week曜日 /; print $date; をすると文字化けするのですが原因がわかりません。
- 91 名前:デフォルトの名無しさん mailto:sage [2016/02/27(土) 10:36:17.16 ID:VqgeV1ea.net]
- 環境とか文字コードは
- 92 名前:デフォルトの名無しさん [2016/02/27(土) 13:36:07.74 ID:fhIzDVzC.net]
- さくらのレンタルサーバーのCGIでPerl 5.14.4です。
$weekを削除すると文字化けはおこりません。 別のプログラムではうまく動いているのですが
- 93 名前:92 [2016/02/27(土) 14:09:58.43 ID:fhIzDVzC.net]
- $week\xe6\x9b\x9c\xe6\x97\xa5になっているみたい
プログラム内に入力している日本語がprint表示するときにくずれるようです。
- 94 名前:デフォルトの名無しさん mailto:sage [2016/02/27(土) 14:23:16.95 ID:VqgeV1ea.net]
- ${week曜日}
${week}曜日 >プログラム内に入力している日本語がprint表示するときにくずれる やっぱutf8フラグかなあ…
- 95 名前:92 [2016/02/27(土) 14:55:51.07 ID:fhIzDVzC.net]
- すみませんプログラムミスでした。
- 96 名前:デフォルトの名無しさん mailto:sage [2016/03/05(土) 17:24:53.21 ID:jVpVtd3O.net]
- 日付で教えて下さい
1/23 12:34 を西暦をくっつけて 2016/1/23 12:34に変換したいのですが 例えば未来の日時の場合は 5/1 12:34 を2015/5/1 12:34と1年引いた年にしたいのですが 下のプログラムでは 2015/05/02 06:45:10になります 年の引き算はどうすればいいのでしょうか use strict; use warnings; use 5.010; use Time::Piece; use Time::Seconds; my $t = localtime; my $year = $t->year; my $str = "1/23 12:34"; my $date = Time::Piece->strptime("$year/$str", '%Y/%m/%d %H:%M'); if ($t < $date) { $date -= ONE_YEAR; } say $t->strftime('%Y-%m-%d %H:%M:%S'); say $date->strftime('%Y-%m-%d %H:%M:%S');
- 97 名前:デフォルトの名無しさん mailto:sage [2016/03/05(土) 17:32:45.69 ID:Kk7Ussws.net]
- >>95
いや、年の引き算って言っても一年は365日とは 限らないんだから、仕様を決めないとだめでしょ? 例えば2月29日の1年前は何日なのか?っていう。
- 98 名前:デフォルトの名無しさん mailto:sage [2016/03/06(日) 18:03:04.50 ID:OXa3i/Gy.net]
- $str =
- 99 名前:デフォルトの名無しさん mailto:sage [2016/03/07(月) 00:42:40.54 ID:Gv57dso9.net]
- >>95
年月日に分けたのち、年を -1 する。
- 100 名前:デフォルトの名無しさん mailto:sage [2016/03/07(月) 06:16:56.64 ID:eudRNLDZ.net]
- だからそうすると2月29日が出来てしまうって言ってるわけ
|
|