【モダン推奨】Perlについての質問箱 50箱目

1 :デフォルトの名無しさん:2012/01/21(土) 10:56:39.03 .net
CGI についての質問は板違いです。WEB プログラミング板でどうぞ。
CGI と Perl の区別がつかない人も WEB プログラミング板に行ってください。
(WEB プログラミング板: http://hibari.2ch.net/php/ )

回答する際はモダンな方法でお願いします
(例 jcode.plではなくEncodeモジュールを使った方法)
理由はもう2012年です。いい加減2000年以前の方法はやめましょう。
最新のPerlを使うほうがかっこいいです。
いつまで勉強しないつもりですか?
過去にとらわれるのはもうやめです。進歩しませんよ。

このスレでは(CGI 以外の)純粋にPerlのみに関係する質問を取り扱っていこうと思います。
スレ違いの質問にはスルーか、速やかな誘導をお願いします。

“The duct tape of the Internet” こと、Perl についての質問箱です。
“There’s more than one way to do it” ということで、
Perl の奥深さについて皆で語り合い、追求してまいりましょう。

http://www.perl.org/get.html
● 2011/10/30 現在の最新版: 5.14.2

▼ 前スレ
Perlについての質問箱 49箱目
http://toro.2ch.net/test/read.cgi/tech/1319953460/
リンク集は >>2-3辺り
Perl 日本語処理の基礎の基礎 >>4辺り

2 :デフォルトの名無しさん:2012/01/21(土) 11:38:32.23

[プログラミング自体の経験が無い奴はまずココを読め]
Perl プログラミング講座: ttp://www.site-cooler.com/kwl/perl/
モダンPerlの世界へようこそ http://gihyo.jp/dev/serial/01/modern-perl/0001

[本]
リャマ: ttp://www.oreilly.co.jp/books/9784873114279/
駱駝: ttp://www.oreilly.co.jp/books/4873110963/
Effective Perl: ttp://ascii.asciimw.jp/books/books/detail/4-7561-3057-7.shtml
クックブック: ttp://www.oreilly.co.jp/books/4873112028/
Perl ベストプラクティス: ttp://www.oreilly.co.jp/books/4873113008/
Perl Hacks: ttp://www.oreilly.co.jp/books/9784873113142/

[オンラインマニュアル]
最新のドキュメント: ttp://search.cpan.org/dist/perl/
perldoc.jp: ttp://perldoc.jp/
perldoc.perl.org: ttp://perldoc.perl.org/

3 :デフォルトの名無しさん:2012/01/21(土) 11:39:11.92

[モジュール]
CPAN.com: ttp://search.cpan.org/
河馬屋二千年堂: ttp://homepage3.nifty.com/hippo2000/

[テクニック]
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

[Perl 5.8 Unicodeメモ]
ttp://www.rwds.net/kuroita/program/Perl_unicode.html (修正)
ttp://www.namazu.org/‾tsuchiya/perl/perl-5.8.html
ttp://www.lr.pi.titech.ac.jp/‾abekawa/perl/perl_unicode.html

4 :デフォルトの名無しさん:2012/01/21(土) 11:39:41.13

Encodeモジュール (現在のPerl文字コードの標準)
http://search.cpan.org/dist/Encode/

UNICODEでわからなくなったらここを読め
http://perldoc.jp/docs/perl/5.8.1/utf8.pod
http://perldoc.jp/docs/perl/5.10.0/perlunifaq.pod

5 :デフォルトの名無しさん:2012/01/21(土) 11:40:18.24

1レスで理解できるutf8フラグ

utf8フラグとい名前がまずかったね。
文字列フラグなどという名前だったらよかった。

文字列フラグはPerl固有のものだから
Perlコード外部から渡されるのは文字列ではない。
文字列でなかったらなにか?それはバイナリ。

バイナリを文字として扱いたければ、文字に変換しないといけない。
それがdecode。

ではソースコードに書いてあるのは、文字かバイナリか。
それはuse utf8を使えば文字で、そうでない場合はバイナリ。

話はこれだけ。

6 :デフォルトの名無しさん:2012/01/21(土) 13:51:55.46

【プログラミング部】 PHPが100倍速で動くようになったぞー
http://awabi.2ch.net/test/read.cgi/poverty/1327050821/

7 :デフォルトの名無しさん:2012/01/21(土) 21:49:44.50

あのー、重複スレってことないですか?

8 :デフォルトの名無しさん:2012/01/29(日) 11:19:25.66

はてなキーワード > モダン
ttp://d.hatena.ne.jp/keyword/%A5%E2%A5%C0%A5%F3

書いているひとは 1. の意味で書いていそうだけど、読む人は(書いた時期
を考慮して) 2. や 3. の意味で解釈している。

よく印刷した資料に「最新版」とか書くひとがいるけどそれと似てるのかも
しれない。たくさんの最新版のうちどれが最新版なのか分からなくなる。
この場合の正解は版数を書くこと。

モダンの場合は、個別の技術の名称を書くことに相当する。

そうしないと「えっ?いまどきモダンPerl使ってるのかよ、お前w」なんて
ことになる。

9 :デフォルトの名無しさん:2012/01/29(日) 11:38:31.81

個別の技術は是々非々で議論しましょう。
現状は、モダンという名のせいで盥水とともに赤子を流してしまっています。

10 :デフォルトの名無しさん:2012/02/03(金) 01:55:40.19

モダンPerlと呼ばれているものは、過去の一時期のスタイルと結びついていて
今はもう使われていない。一方、レガシーPerlと呼ばれているものは現在でも
利用されていて、その名とうらはらに全くレガシーな気がしない。

思うにこれらの名称は、実態を正確に示していない点で失敗だと思う。

そういえば、モダンRubyやレガシーRubyという言葉は聞いたことがない。
名前重要っていうのは本当なんだな。

11 :デフォルトの名無しさん:2012/02/03(金) 07:54:57.41

ルビーはバージョン毎に違うからなあ
新旧をバージョン番号以外で呼ぶ事は今後もないんだろう

12 :デフォルトの名無しさん:2012/02/04(土) 00:24:55.23

83JISは新JISですね。わかります。

13 :デフォルトの名無しさん:2012/02/04(土) 10:44:31.66

2012年なんだから、そろそろ新JISキーボード使おうよってスレですね。
わかります。

14 :デフォルトの名無しさん:2012/02/05(日) 16:28:37.59

問題を解決する方法がモダンかどうか、誰もこだわっていない件

19 :デフォルトの名無しさん:2012/02/09(木) 22:43:43.29

Perl on Heroku | Hacker News
http://news.ycombinator.com/item?id=3570894

judofyr/perloku – GitHub
https://github.com/judofyr/perloku

16 :デフォルトの名無しさん:2012/02/08(水) 01:42:45.73

何がどうなるの?教えて、教えて

17 :デフォルトの名無しさん:2012/02/08(水) 22:53:51.78

結局、モダンって何だったの?
本を売りたかったとか、会社作ってみたとか、そういうことなの?
失敗だったの?
もうモダンには会えないの?

18 :デフォルトの名無しさん:2012/02/09(木) 18:46:51.29

         _  , 、
     r‐v’´ ̄  `‾ く     
  _.  7,‐、   r‐、  ヽ   だったら Perlのはじめて を
  (._ ^ヽ|{ 0 _l 0ノ   i
   ヽ (´ ̄  `_, ヶ  ノ   見に行こうよ 
     `、`ー-ヾ._.// )
     /      (_.ノV^) 「クルクルバビンチョパペッピポ、イア!イア!ハスターの
      i    _     「
    L_ _/  \_ _.ノ

15 :デフォルトの名無しさん:2012/02/08(水) 01:37:01.27

今はポストモダンの時代

20 :デフォルトの名無しさん:2012/02/10(金) 00:41:07.42

「モダン、ここはどこ?」

21 :デフォルトの名無しさん:2012/02/10(金) 04:35:12.65

ネタが古い

22 :デフォルトの名無しさん:2012/02/11(土) 00:04:56.56

ここはね、パークハイアット東京。
The Perl Confernce Japan の会場だょ。

まもなく、まつもとゆきひろさんのRubyのセッションが始まるょ。

(コーヒーがおいしいょ。)

23 :デフォルトの名無しさん:2012/02/11(土) 04:05:03.81

ワンライナー [ 一行野郎 OneLiner ]

24 :デフォルトの名無しさん:2012/02/21(火) 06:43:24.21

書き込みテスト

25 :デフォルトの名無しさん:2012/02/21(火) 23:13:43.25

結局、モダンPerlって何だったんですかね?

26 :デフォルトの名無しさん:2012/02/22(水) 14:11:38.18

Perlの長所であり短所であるTMTOWTDIによるコードの難読化を共通ルールっぽいテンプレで改善しようという風潮

27 :デフォルトの名無しさん:2012/02/22(水) 21:13:46.02

変なこと考えるより、ポータブルCみたいにポータブルPerlで書けばいいと
思うんでそうしてる。書きやすいし読みやすい、おまけに長期的に保守
できる。これもTMTOWTDIのひとつの形態。

28 :デフォルトの名無しさん:2012/02/23(木) 21:47:31.36

長期的に保守できる=いつまでもモダン。

29 :デフォルトの名無しさん:2012/02/24(金) 15:24:49.40

>>28
動いているものに手を入れるな。
手を入れるときは該当箇所にだけ入れろ
決して他の部分をいじるな。

ほとんど同じ処理でも既存の部分を
修正するなコピペして作れ。

これこそモダン

30 :デフォルトの名無しさん:2012/02/25(土) 00:48:11.36

気が合いそうですね

31 :デフォルトの名無しさん:2012/02/25(土) 00:58:50.25

モダンが嫌いな人って、新しいものが嫌い。
だからデザインパターンもリファクタリングも
アジャイルも嫌い

32 :デフォルトの名無しさん:2012/02/25(土) 01:20:21.71

そう捉えてるとするならば、ちゃんとコトを理解できていない

33 :デフォルトの名無しさん:2012/02/25(土) 04:47:56.86

Perlの評価の8割はCPANだよね
Rubyの評価の8割はRailsだよね

36 :デフォルトの名無しさん:2012/02/25(土) 14:20:32.95

加えてPerl6もマイナス評価だからPerlはPerl5が支えているといっても寝言ではない

37 :デフォルトの名無しさん:2012/02/26(日) 21:09:36.58

「モダンPerl」の”モダン”はあさってな方向に行ってしまっているので、
一般的な単語のモダンとは意味が違っている。だから>>31の言っている
ことは間違い。

39 :デフォルトの名無しさん:2012/03/03(土) 00:51:07.30

Perl4も現役で使われているのでモダンですよ。
モダンではないのは(らくだ本が出版されていなかった)Perl3以前ですよ。
もちろん異論はありませんね?

44 :デフォルトの名無しさん:2012/03/03(土) 15:18:20.72

まさかオマイラ、ディストリ付属のperlをそのまま使ってる、なんてことないよな?

47 :デフォルトの名無しさん:2012/03/03(土) 19:02:12.13

>>45
root管理のパッケージと混ぜないために、cpanmやlocal::libを使うのよ。
ユーザ権限でユーザ領域に突っ込めるから、バックアップも楽だし、
いらなくなったらユーザごと消せばいいし。
Perl自体は、特に必要ない限り、システム付属使ってるけど。

51 :デフォルトの名無しさん:2012/03/06(火) 23:54:43.29

> 分かりやすかったら、使いやすかったら、ほっておいても
> 自然に使われるだろうから

それじゃ時間がかかりすぎる。
ようはオールドタイプはさっさと消えろってこと。

ネットの古い情報もさっさと消えて欲しいし、
今頃古いやり方を教えるやつもさっさと消えて欲しい。

だから俺は古いやり方を教えている奴を見つけたら
今はこうやる。こっちのほうがもっと簡単だと
情報を広めている。

52 :デフォルトの名無しさん:2012/03/07(水) 02:54:40.01

新しいけど使いづらいって、自分で言っているようなもんだな

60 :デフォルトの名無しさん:2012/03/09(金) 01:54:01.68

確かに Time::Piece 以外は見たことがないね

67 :デフォルトの名無しさん:2012/03/10(土) 02:50:23.82

考え方が間違っていたかもしれない。

モダンPerlとは、Perlがモダンなのではなく
プログラマ的にモダンな開発手法、
それをPerlに取り入れたものではないのか?

よくよく考えたら、最近はやりのほかの言語の機能を
PerlでやれるようにしたがモダンPerlなモジュールではないだろうか。

71 :デフォルトの名無しさん:2012/03/10(土) 12:41:50.76

お好み焼きとの違いがいまだに覚えられない

145 :営利利用に関するLR審議中@詳細は自治スレへ:2012/03/29(木) 01:26:41.94

>>143
お前がTime::Piece知らないってのが
モロバレだなw

はい、このように、モダンPerlを嫌ってる人=無知なだけ
ってことなのです。

170 :デフォルトの名無しさん:2012/04/02(月) 01:47:27.43

% pp –gui –verbose –output=sample.exe sample.pl
でスクリプトをexeファイルにする。

ttp://search.cpan.org/‾rschupp/PAR-1.005/lib/PAR/Tutorial.pod

234 :デフォルトの名無しさん:2012/08/12(日) 12:31:10.61

入門書読み終えたばかりの初心者には組込みのlocaltime関数を教えてあげないよ

353 :デフォルトの名無しさん:2012/10/21(日) 01:30:13.87

ボケ老人風文体わろす

499 :デフォルトの名無しさん:2016/02/09(火) 23:41:10.97 ID:J9+y92l0

dankogaiがのらりくらりうまく回避しちゃうからじゃない?
俺はもうperlでsjis処理するのはあきらめた。

511 :デフォルトの名無しさん:2016/02/24(水) 02:40:25.37 ID:lkPqYQmC

UNIXの歴史をエッセンスにしてUNIX以外でも使えるようにした言語だから学ぶ価値はある。
おれの場合はWindows上で毎日使ってる。慣れの問題もあるが他の言語だとこうはいかない。

601 :デフォルトの名無しさん:2018/05/01(火) 17:33:53.54 ID:Jzi33zXB

全く初歩的な質問ですいません
ググってみたのですがそのものズバリの例を見つけることができませんでした。
やりたいことは、連装配列に配列を入れて取り出すことです。
最後の出力行が [2] となることを意図していますが、出力は
[]  となり、ワーニングもでています。
配列を入れたつもりの連装配列の要素が配列とは認識されていないようです。
この場合どのように書けば、所期の結果が得られるでしょうか?

$ perl -v

This is perl 5, version 18, subversion 2 (v5.18.2) built for x86_64-linux-gnu-thread-multi
(with 46 registered patches, see perl -V for more detail)
〜後半略〜

$ cat sample.pl

my %hasy01;
my @array01;

@array01=(2,4,6,8);
$hash01{“name”}=@array01;

printf( “[%s]¥n”, $array01[0] );
printf( “[%s]¥n”, $hash01{“name”}[0] );

$ perl -w sample.pl
[2]
Use of uninitialized value in printf at sample.pl line 9.
[]

883件をまとめました。
最新情報はこちら