【モダン推奨】Perlについての質問箱 50箱目at TECH
【モダン推奨】Perlについての質問箱 50箱目 - 暇つぶし2ch1:デフォルトの名無しさん
12/01/21 10:56:39.03 .net
CGI についての質問は板違いです。WEB プログラミング板でどうぞ。
CGI と Perl の区別がつかない人も WEB プログラミング板に行ってください。
(WEB プログラミング板: URLリンク(hibari.2ch.net) )

回答する際はモダンな方法でお願いします
(例 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 の奥深さについて皆で語り合い、追求してまいりましょう。

URLリンク(www.perl.org)
● 2011/10/30 現在の最新版: 5.14.2

▼ 前スレ
Perlについての質問箱 49箱目
スレリンク(tech板)
リンク集は >>2-3辺り
Perl 日本語処理の基礎の基礎 >>4辺り




2:デフォルトの名無しさん
12/01/21 11:38:32.23 .net
[プログラミング自体の経験が無い奴はまずココを読め]
Perl プログラミング講座: URLリンク(www.site-cooler.com)
モダンPerlの世界へようこそ URLリンク(gihyo.jp)

[本]
リャマ: URLリンク(www.oreilly.co.jp)
駱駝: URLリンク(www.oreilly.co.jp)
Effective Perl: URLリンク(ascii.asciimw.jp)
クックブック: URLリンク(www.oreilly.co.jp)
Perl ベストプラクティス: URLリンク(www.oreilly.co.jp)
Perl Hacks: URLリンク(www.oreilly.co.jp)

[オンラインマニュアル]
最新のドキュメント: URLリンク(search.cpan.org)
perldoc.jp: URLリンク(perldoc.jp)
perldoc.perl.org: URLリンク(perldoc.perl.org)

3:デフォルトの名無しさん
12/01/21 11:39:11.92 .net
[モジュール]
CPAN.com: URLリンク(search.cpan.org)
河馬屋二千年堂: URLリンク(homepage3.nifty.com)

[テクニック]
Perl メモ: URLリンク(www.din.or.jp)
Perl のページ: URLリンク(homepage1.nifty.com)
Perl の小技: URLリンク(homepage3.nifty.com)

[Perl 5.8 Unicodeメモ]
URLリンク(www.rwds.net) (修正)
URLリンク(www.namazu.org)
URLリンク(www.lr.pi.titech.ac.jp)


4:デフォルトの名無しさん
12/01/21 11:39:41.13 .net
Encodeモジュール (現在のPerl文字コードの標準)
URLリンク(search.cpan.org)

UNICODEでわからなくなったらここを読め
URLリンク(perldoc.jp)
URLリンク(perldoc.jp)


5:デフォルトの名無しさん
12/01/21 11:40:18.24 .net
1レスで理解できるutf8フラグ

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

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

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

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

話はこれだけ。


6:デフォルトの名無しさん
12/01/21 13:51:55.46 .net
【プログラミング部】 PHPが100倍速で動くようになったぞー
スレリンク(poverty板)

7:デフォルトの名無しさん
12/01/21 21:49:44.50 .net
あのー、重複スレってことないですか?

8:デフォルトの名無しさん
12/01/29 11:19:25.66 .net
はてなキーワード > モダン
URLリンク(d.hatena.ne.jp)

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

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

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

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

9:デフォルトの名無しさん
12/01/29 11:38:31.81 .net
個別の技術は是々非々で議論しましょう。
現状は、モダンという名のせいで盥水とともに赤子を流してしまっています。

10:デフォルトの名無しさん
12/02/03 01:55:40.19 .net
モダンPerlと呼ばれているものは、過去の一時期のスタイルと結びついていて
今はもう使われていない。一方、レガシーPerlと呼ばれているものは現在でも
利用されていて、その名とうらはらに全くレガシーな気がしない。

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

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

11:デフォルトの名無しさん
12/02/03 07:54:57.41 .net
ルビーはバージョン毎に違うからなあ
新旧をバージョン番号以外で呼ぶ事は今後もないんだろう

12:デフォルトの名無しさん
12/02/04 00:24:55.23 .net
83JISは新JISですね。わかります。

13:デフォルトの名無しさん
12/02/04 10:44:31.66 .net
2012年なんだから、そろそろ新JISキーボード使おうよってスレですね。
わかります。

14:デフォルトの名無しさん
12/02/05 16:28:37.59 .net
問題を解決する方法がモダンかどうか、誰もこだわっていない件

15:デフォルトの名無しさん
12/02/08 01:37:01.27 .net
今はポストモダンの時代

16:デフォルトの名無しさん
12/02/08 01:42:45.73 .net
何がどうなるの?教えて、教えて

17:デフォルトの名無しさん
12/02/08 22:53:51.78 .net
結局、モダンって何だったの?
本を売りたかったとか、会社作ってみたとか、そういうことなの?
失敗だったの?
もうモダンには会えないの?

18:デフォルトの名無しさん
12/02/09 18:46:51.29 .net
         _  , 、
     r‐v'´ ̄  `~ く     
  _.  7,‐、   r‐、  ヽ   だったら Perlのはじめて を
  (._ ^ヽ|{ 0 _l 0ノ   i
   ヽ (´ ̄  `_, ヶ  ノ   見に行こうよ 
     `、`ー-ヾ._.// )
     /      (_.ノV^) 「クルクルバビンチョパペッピポ、イア!イア!ハスターの
      i    _     「
    L_ _/  \_ _.ノ


19:デフォルトの名無しさん
12/02/09 22:43:43.29 .net
Perl on Heroku | Hacker News
URLリンク(news.ycombinator.com)

judofyr/perloku - GitHub
URLリンク(github.com)

20:デフォルトの名無しさん
12/02/10 00:41:07.42 .net
「モダン、ここはどこ?」

21:デフォルトの名無しさん
12/02/10 04:35:12.65 .net
ネタが古い

22:デフォルトの名無しさん
12/02/11 00:04:56.56 .net
ここはね、パークハイアット東京。
The Perl Confernce Japan の会場だょ。

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

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

23:デフォルトの名無しさん
12/02/11 04:05:03.81 .net
ワンライナー [ 一行野郎 OneLiner ]

24:デフォルトの名無しさん
12/02/21 06:43:24.21 .net
書き込みテスト

25:デフォルトの名無しさん
12/02/21 23:13:43.25 .net
結局、モダンPerlって何だったんですかね?

26:デフォルトの名無しさん
12/02/22 14:11:38.18 .net
Perlの長所であり短所であるTMTOWTDIによるコードの難読化を共通ルールっぽいテンプレで改善しようという風潮

27:デフォルトの名無しさん
12/02/22 21:13:46.02 .net
変なこと考えるより、ポータブルCみたいにポータブルPerlで書けばいいと
思うんでそうしてる。書きやすいし読みやすい、おまけに長期的に保守
できる。これもTMTOWTDIのひとつの形態。

28:デフォルトの名無しさん
12/02/23 21:47:31.36 .net
長期的に保守できる=いつまでもモダン。

29:デフォルトの名無しさん
12/02/24 15:24:49.40 .net
>>28
動いているものに手を入れるな。
手を入れるときは該当箇所にだけ入れろ



30:して他の部分をいじるな。 ほとんど同じ処理でも既存の部分を 修正するなコピペして作れ。 これこそモダン



31:デフォルトの名無しさん
12/02/25 00:48:11.36 .net
気が合いそうですね

32:デフォルトの名無しさん
12/02/25 00:58:50.25 .net
モダンが嫌いな人って、新しいものが嫌い。
だからデザインパターンもリファクタリングも
アジャイルも嫌い

33:デフォルトの名無しさん
12/02/25 01:20:21.71 .net
そう捉えてるとするならば、ちゃんとコトを理解できていない

34:デフォルトの名無しさん
12/02/25 04:47:56.86 .net
Perlの評価の8割はCPANだよね
Rubyの評価の8割はRailsだよね

35:デフォルトの名無しさん
12/02/25 13:39:26.50 .net
残りの2割はPerl4ですか

36:デフォルトの名無しさん
12/02/25 13:55:49.15 .net
Perl4はマイナス評価だよ。

37:デフォルトの名無しさん
12/02/25 14:20:32.95 .net
加えてPerl6もマイナス評価だからPerlはPerl5が支えているといっても寝言ではない

38:デフォルトの名無しさん
12/02/26 21:09:36.58 .net
「モダンPerl」の"モダン"はあさってな方向に行ってしまっているので、
一般的な単語のモダンとは意味が違っている。だから>>31の言っている
ことは間違い。

39:デフォルトの名無しさん
12/03/02 09:42:04.91 .net
>>35
うそつけ。このスレを潰そうとする連中はみんなPerl4時代のコードしか書かないじゃんか。

40:デフォルトの名無しさん
12/03/03 00:51:07.30 .net
Perl4も現役で使われているのでモダンですよ。
モダンではないのは(らくだ本が出版されていなかった)Perl3以前ですよ。
もちろん異論はありませんね?

41:デフォルトの名無しさん
12/03/03 00:52:39.18 .net
現役でサポートされてるディストリで
Perl4が入っているものを教えて下さいよw

42:デフォルトの名無しさん
12/03/03 04:06:39.76 .net
5.8が出てから今年で10年。
それより前は昔の実装でおk。

43:デフォルトの名無しさん
12/03/03 10:52:44.75 .net
こうして世界は騙された!!

44:デフォルトの名無しさん
12/03/03 11:06:06.57 .net
ディストリインストールできる人はPerlもインストールできるんじゃね?

45:デフォルトの名無しさん
12/03/03 15:18:20.72 .net
まさかオマイラ、ディストリ付属のperlをそのまま使ってる、なんてことないよな?

46:デフォルトの名無しさん
12/03/03 16:17:57.11 .net
ディストリのパッケージ以外からperlとかモジュールとか入れたらシステムの安定性が壊れる
パッケージが提供されてないモジュールを野良ビルドで入れたりしない
cpanm、perlbrew、local::libを使うなどもってのほか

↓のスレ読んで出直せ
スレリンク(tech板:544-番)

47:デフォルトの名無しさん
12/03/03 16:36:36.95 .net
>>45
押すなよ絶対押すなよみたいな言い方ですね。

つまり、それらは便利ってことですね!



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

49:デフォルトの名無しさん
12/03/06 23:18:42.91 .net
ユーザが移行するのは、今までよりも分かりやすいもの、使いやすいもの。
今までよりも新しいもの、多機能なもの、ではない。

50:デフォルトの名無しさん
12/03/06 23:35:43.27 .net
モダンなものってたいがいわかりやすくて
使いやすくなってるよね。

Time::Pieceとか。

51:デフォルトの名無しさん
12/03/06 23:43:48.61 .net
でもそうじゃないから、"モダン"っていうラベルを付けて強引に勧めて
いるんだね。分かりやすかったら、使いやすかったら、ほっておいても
自然に使われるだろうから、わざわざ無理強いする必要はないもんね。

52:デフォルトの名無しさん
12/03/06 23:54:43.29 .net
> 分かりやすかったら、使いやすかったら、ほっておいても
> 自然に使われるだろうから

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

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

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

53:デフォルトの名無しさん
12/03/07 02:54:40.01 .net
新しいけど使いづらいって、自分で言っているようなもんだな

54:デフォルトの名無しさん
12/03/07 03:03:09.93 .net
面倒なやつは無視が一番。

55:デフォルトの名無しさん
12/03/07 03:57:57.80 .net
CPANをすべてRubyが補完してくれたらどんなにいいだろう。

56:デフォルトの名無しさん
12/03/07 23:12:02.32 .net
   end
  end
 end
end

あぁ、終わりだもうだめだぁ

57:デフォルトの名無しさん
12/03/08 00:42:07.15 .net
まあモダンなPerlを知らなければ、
Perl使いとみなせない時代にはなってるよね。

58:デフォルトの名無しさん
12/03/08 00:51:37.53 .net
もちろん情報は日々取得してるから知られてはいるんだろうけど、
使いやすくなかったらいつまでたっても使われることはないよね。

59:デフォルトの名無しさん
12/03/08 01:03:50.28 .net
使われてるけどね。
Perlで作られてる他のプロジェクト見たこと有る?
(昔に作られて放置されてるのは除く)

Jcodeとか海外じゃ全く使われてないから。



60:デフォルトの名無しさん
12/03/08 23:37:48.23 .net
>>58

61:デフォルトの名無しさん
12/03/09 01:54:01.68 .net
確かに Time::Piece 以外は見たことがないね

62:デフォルトの名無しさん
12/03/09 02:06:51.28 .net
>>58
海外で使われていないと、自分が日本語を処理するときに使っちゃいけないの?
日本では使ってもいいんでしょ?
そもそもモダンっていうのは禁止して不便にすることなの?
それにJcodeはオブジェクト指向なんだし十分モダンだと思うけどな

63:デフォルトの名無しさん
12/03/10 00:38:59.17 .net
モダンPerlでいうところの"モダン"は、
 1.リリース時期のことをいっているのか
 2.実装手法のことをいっているのか
 3.はたまたインタフェースのことをいっているのか
ところで、インタフェースっていうのは
 a.新しければ新しいほど好ましいのか
 b.古ければ古いほど好ましいのか
このあたりの見解が一致しないと、具体的なモノがモダンなのか
そうでないのかが変ってしまうし「これはモダンだ」と言ったか
らって、そのものに価値があるのか無いのかは別問題になる

64:デフォルトの名無しさん
12/03/10 01:24:18.18 .net
1.がモダンでも2.がモダンでも利用者にとって関係なく、単に供給側
の自己満足になってしまう。3.のことだとすると新しいもの好きはa.で、
人柱をかってでることになるわけで、そうでないならb.で問題ない。

65:デフォルトの名無しさん
12/03/10 02:28:05.91 .net
>>62
Rubyはモダンだ。

そこからいえばRubyに近いことを
Perlでやるのがモダンだ。

66:デフォルトの名無しさん
12/03/10 02:38:52.80 .net
モダンの定義は分かったけど、それ価値あんの?

67:デフォルトの名無しさん
12/03/10 02:45:52.84 .net
あるよ。

開発速度が上がった。
少ないコードで、今まで以上のことができる。

なにより、プログラミング一般とPerlに関して
深い知識を手に入れられたのがいいね。

オブジェクト指向言語、関数型言語、
継承。ポリモーフィズム。mixin、
アスペクト指向、O/Rマッパー
フレームワーク、MVC・・・etc

Perlだけじゃ、世界が狭いからほかの言語をやるといい。
そうして戻ってくると、自然とモダンPerlな体になってるよ。

68:デフォルトの名無しさん
12/03/10 02:50:23.82 .net
考え方が間違っていたかもしれない。

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

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

69:デフォルトの名無しさん
12/03/10 11:58:33.08 .net
モダンPerlはアンチPerlなのか...
それでPerl原理主義者の抵抗にあっているという構図か

70:デフォルトの名無しさん
12/03/10 12:24:09.53 .net
ニーズにマッチしないモダンならいらないよ。

71:デフォルトの名無しさん
12/03/10 12:38:37.16 .net
便利ならそれでよくて、モダンという線引きは要らないってことでおk?

72:デフォルトの名無しさん
12/03/10 12:41:50.76 .net
お好み焼きとの違いがいまだに覚えられない

73:デフォルトの名無しさん
12/03/10 15:44:56.75 .net
どうにも架空臭がするモダンPerlだが最近ますますそう感じている。
(モダンPerlを構成するといわれる)個別の要素の議論で十分だと思う。
ひと括りにしてしまうせいで大事なものまで一緒に捨てられてしまう。

74:デフォルトの名無しさん
12/03/10 23:59:10.17 .net
モダンPerlではなく、
Perlでモダンプログラミングといえば、
面白いように情報弱者が落ちていく。

75:デフォルトの名無しさん
12/03/11 00:48:24.53 .net
モダンっていう言い方が古臭い

76:デフォルトの名無しさん
12/03/11 01:03:16.37 .net
トレンディPerl

77:デフォルトの名無しさん
12/03/11 02:15:55.91 .net
単に"モダンPerl"と言いたいだけにしか思えない
Perlのリリースが予定通りじゃなかったり、らくだ本の改版に10年もかかっ
たりするからって、無理して話題を作る必要はない

5.14.3がリリースされない今はらくだフォーでつなぐのが吉

78:デフォルトの名無しさん
12/03/11 02:21:20.79 .net
普通にPerl5を使えばいいだけ。

79:デフォルトの名無しさん
12/03/11 04:00:30.75 .net
Perlのオブジェクト指向はどう考えてもいびつでおかしいのに
それを主張しても理解できない人の戯言にされてしまう。

80:デフォルトの名無しさん
12/03/11 04:48:04.26 .net
お好み焼きは食えるけど、モダンPerlは食えないね。

81:デフォルトの名無しさん
12/03/11 05:14:03.94 .net
>>73
人間としての品位を疑われるぞ
社会に適合してないんじゃなイカ?

82:デフォルトの名無しさん
12/03/11 08:47:05.63 .net
>>76
らくだフォー?

83:デフォルトの名無しさん
12/03/11 12:35:38.71 .net
らくだフォア
 モダンはとおくに
  なりにけり

84:デフォルトの名無しさん
12/03/11 12:59:34.63 .net
>>78
Perlのオブジェクト指向はいびつ

じゃあいびつじゃない形にしましょう。それができるのがPerlの凄さだ

そうやってできたもの=モダンPerl


>>78
お前はPerlを使いこなせてないだけ。

85:デフォルトの名無しさん
12/03/11 17:32:12.27 .net
またそんな青くさいこといちゃって、このフォーティーンめ

86:デフォルトの名無しさん
12/03/11 19:50:09.03 .net
モダン推奨者は自分が社会に適合しようとするんじゃなくて、社会を
自分に適合させようとしている。

結果、当然うまくいかなくて挫折する。

その繰り返し。

87:デフォルトの名無しさん
12/03/11 20:47:59.28 .net
>>85
そうそう。
CPANモジュールで楽せず全て一から自分でコードを書くのが社会の常識だからね。


88:デフォルトの名無しさん
12/03/11 21:48:16.89 .net
モダン、モダンとか言って周りに合わせられないのは単に能力がないだけでしょ

89:デフォルトの名無しさん
12/03/11 22:00:36.17 .net
>>87
ねぇ。
自分でコードかけないからCPANモジュールなんぞ入れようとするんだよ。

90:デフォルトの名無しさん
12/03/12 00:38:19.94 .net
ググって何も出なかったら「ありません。」で終わりだもの、今のひとは。

91:デフォルトの名無しさん
12/03/12 01:08:30.57 .net
>>89
ばかばかしいよね。
何も出なかったら自分で書けよ、と。

92:デフォルトの名無しさん
12/03/12 12:37:32.86 .net
>>87
モダン、モダン言わなくても、周りに合わせられなければ、単に能力がないだけ。
つまり、モダンプログラミングと、周りに合わせられない事は別問題。

>>90
そこは迷うところだな。別の手を考えるか、そのまま自分で実装するか。
ある意味チャンスだ。

93:デフォルトの名無しさん
12/03/12 23:57:29.35 .net
別の手ってYahoo!か?

94:デフォルトの名無しさん
12/03/13 02:54:48.40 .net
質問箱よりOKWaveがお勧め。

95:デフォルトの名無しさん
12/03/15 23:34:57.79 .net
どうやってCPAN使いこなせるようになるんだよ…。

96:デフォルトの名無しさん
12/03/16 00:44:44.19 .net
今までのインタフェースで実装できなくてだめだめなのをモダンPerlとか
言って取繕ってるだけでしょ

97:デフォルトの名無しさん
12/03/16 01:02:24.92 .net
perl6のコンセプトを先取りしてるものではないの?

98:デフォルトの名無しさん
12/03/16 02:27:51.26 .net
URLリンク(www.amazon.co.jp)

99:デフォルトの名無しさん
12/03/16 08:17:31.69 .net
>>95
なんでそういう悪意のある言い方するの?

100:デフォルトの名無しさん
12/03/16 15:52:29.33 .net
新しい手法・置き換えるモジュールがあれば、それを採用しましょうってのがモダンPerl。
Fatalプラグマよりautodieプラグマ。
switch,caseよりgiven,when。
evalとif($@)よりTry::Tiny。
という感じ。

置き換えられないモジュールを置き換えようとするのは多分違う。

101:デフォルトの名無しさん
12/03/16 15:57:44.21 .net
次スレがあったら、テンプレにこれも追加で
URLリンク(perl-users.jp)

で、>>3はこのスレ的には整理した方がいいだろうね

102:デフォルトの名無しさん
12/03/16 15:59:56.20 .net
www.amazon.co.jp/Modern-Perl-Chromatic/dp/0977920178/
どんな本なんだろう

103:デフォルトの名無しさん
12/03/16 16:35:08.87 .net
>>101
URLリンク(www.onyxneon.com)

104:デフォルトの名無しさん
12/03/16 17:04:15.50 .net
>>102
無料でも読めるのか。トントン

105:デフォルトの名無しさん
12/03/16 21:48:33.88 .net
モダンPerlは無駄なもの
なぜなら業界歴20年の俺が理解できなかったからだ
そこから役に立たないものだと結論づけた

106:デフォルトの名無しさん
12/03/16 23:16:39.05 .net
新しいことについていけない老害の人って。。。

107:デフォルトの名無しさん
12/03/17 00:38:01.50 .net
プログラムはプログラマだけのものじゃなくて、依頼者や使用者のものでも
あって、依頼者視点での保守、使用者視点での保守をしていかないとならない。
その場限りのソフトウェアならモダンPerlでも構わないかもしれないが、
保守するのであれば、流行で作ったものは時間が経つと「変な髪形」になっ
てしまう。それが分かってないのは、おまいのしりが青い証拠だ。

108:デフォルトの名無しさん
12/03/17 00:43:57.57 .net
じゃあPerl使うなってことになるな。

109:デフォルトの名無しさん
12/03/17 00:45:13.60 .net
一番人を集められるのはJavaかPHPだよね。

110:デフォルトの名無しさん
12/03/17 00:54:53.13 .net
>>106
受託ってやつ?
ウェブサービス作ってるんじゃないの?

俺にとってプログラムは自社のもので、自分たちが
開発しやすいように最善の方法を目指してるんだけどさ、
客に足を引っ張られるのって、ちょっと可哀想に思う。


111:デフォルトの名無しさん
12/03/17 02:45:39.65 .net
>>106
そういう時はバージョンと使用するライブラリを指定すればいいんだよ。

112:デフォルトの名無しさん
12/03/17 02:46:55.30 .net
依頼者は何も指定しなかった場合、
古いPerllで作ろう。

それが依頼者のためになるんだ。

113:デフォルトの名無しさん
12/03/17 03:00:54.49 .net
当然4.036よりもさらに前だよな?

114:デフォルトの名無しさん
12/03/17 03:04:12.17 .net
>>106
客が要求するのがモダンではないと決めてかかってる。
客がモダンを要求したらどうするつもりだ?
単にお前は、モダンPerlが書けないだけ。

115:デフォルトの名無しさん
12/03/17 16:11:00.12 .net
>>112
はい

116:デフォルトの名無しさん
12/03/18 01:23:00.96 .net
逆になんでモダンにこだわるの?変なとこにこだわって成果がでないんじゃ
本末転倒じゃないの?成果とモダンとどっちが優先なの?

117:デフォルトの名無しさん
12/03/18 01:53:27.60 .net
>>113
単におまいはモダンっていいたいだけちゃうんか
この青尻め

118:デフォルトの名無しさん
12/03/18 03:15:04.19 .net
>>115
モダンを諦めれば、成果が出るとでも思ってるの?

むしろ、モダンを使う=成果が出る
なんだが。

119:デフォルトの名無しさん
12/03/18 07:42:28.32 .net
一旦モダンって名前を頭から消して普通にPerlコードを書かせてみるとする
そいつのコードがKENTみたいなやつだとして、それが他の人が誰でも保守できるようなシロモノになるとは到底思えない

120:デフォルトの名無しさん
12/03/18 16:06:49.73 .net
>>117
そんなこと言ってないだろ、どこを読んでんだ?青尻くん

121:デフォルトの名無しさん
12/03/18 16:17:39.87 .net
とうとうホモスレになったのか

122:デフォルトの名無しさん
12/03/18 22:44:09.24 .net
青尻くんとこは結構自由みたいだけど、個人事業主なの?

123:デフォルトの名無しさん
12/03/20 19:21:50.84 .net
これまでの積み重ねがないと例えば会社が終わりになったときに技術的にも
全てを失うことになるよ。

124:デフォルトの名無しさん
12/03/20 19:29:12.55 .net
モダンなんかやってて技術の積み重ねになるわけがない。

125:デフォルトの名無しさん
12/03/20 20:23:18.91 .net
わざわざ不便なものを選んで苦しむのが積み重ねか
古いんだよそんなスポ根的発想は!

126:デフォルトの名無しさん
12/03/20 22:46:00.37 .net
青尻くんは、プログラムは実現したいこととその解決方法の両方を記述する
ためのものだってこと、ちゃんと理解してるの?そうか、してないのかまだ
青いのか。

127:デフォルトの名無しさん
12/03/20 23:19:46.15 .net
普通にわかれよ。
モダンperlがいいものだとしたら普通に普及する。
駄目なもので無理やり普及させたいのには訳がある。

本や講演などで稼ぎたい人もいるってこった。


128:デフォルトの名無しさん
12/03/21 01:55:19.27 .net
それには付き合えないけどね。

129:デフォルトの名無しさん
12/03/21 08:37:14.83 .net
> モダンperlがいいものだとしたら普通に普及する。

実際に普及してるよな。


130:デフォルトの名無しさん
12/03/21 09:55:42.06 .net
半径5m以内の、CPANモジュールも使えない環境を見て言ってるんだろうな。

131:デフォルトの名無しさん
12/03/21 22:40:10.92 .net
そうだな。青尻くんが青筋立ててキーキーいう必要はないはずだよな?

132:デフォルトの名無しさん
12/03/23 11:52:12.45 .net
ステマってやつだな

133:デフォルトの名無しさん
12/03/24 12:30:46.46 .net
かわいいの♪ステマつげるぅ~♪
いーないーな♪それいいなぁー♪
つげるタイプの魔法だょ~♪

134:デフォルトの名無しさん
12/03/25 07:17:46.89 .net
ステルスマーケティング用語か。個々の技術とまったく関係ない話だな。
要は互換性のなさをごまかそうとしているんだな。ばればれだぞw

135:デフォルトの名無しさん
12/03/25 16:36:42.85 .net
>>118
で、きみの書いた誰でも保守できるようなコードはどこにあるの?

136:デフォルトの名無しさん
12/03/27 21:08:40.38 .net
長期に渡る保守が予想されるソフトウェアは一時期の流行に合わせて
書くのではなく、将来を見据えた記述をするのが正解。

137:デフォルトの名無しさん
12/03/27 21:29:13.75 .net
意固地に10年前の書き方を押し付ける必要はない
今使える書き方と今使えるモジュールで書けばいい


138:デフォルトの名無しさん
12/03/28 05:29:06.98 .net
今使えない書き方で書けと読めてるお前がおかしい
ワンライナーや売り切り逃げ切りのソフトならお好きにどうぞ

139:デフォルトの名無しさん
12/03/28 06:14:36.83 .net
モダンは互換性がないのと将来のメンテナンスが不安なのが弱点か。
モダンゆえに時間軸の過去も未来もだめってことか。それは困る。

140:デフォルトの名無しさん
12/03/28 06:17:08.97 .net
お花を大切に

141:デフォルトの名無しさん
12/03/28 06:46:19.55 .net
>>138
>互換性がない
何と?
>将来のメンテナンスが不安
将来のメンテナンスを考えると何を使えばいいの?


142:デフォルトの名無しさん
12/03/28 21:48:50.07 .net
素のPerlや標準モジュールが思いつかないあたり、いい、すごくいいよ、
青尻くん。だんだん気に入ってきた。

143:デフォルトの名無しさん
12/03/28 22:59:03.49 .net
たとえば標準モジュールの例としては、
URLリンク(perldoc.perl.org)

・文字コード関係
Encodeモジュール
(Jcodeは×)

・日付関係
Time::Piece、Time::Seconds
(もろもろある日付モジュールは×)

・オブジェクト指向関係
Object::Accessor、Class::Struct

データベース関係(ファイル以外)は、何もありません。

>>141が言っていることはこういう意味です。

144:デフォルトの名無しさん
12/03/28 23:57:43.96 .net
がんばって標準モジュールを列記してみたものの、やっぱり素のPerlは
思いつかないところ、青尻くん、すばらしい。すごくいい。

「モダンPerl使いなのでlocaltimeは使えません。」キリッ

職場で一度言ってみたい。。。試用期間で終わるだろうけどw

145:営利利用に関するLR審議中@詳細は自治スレへ
12/03/29 00:40:36.87 .net
>>143
localtimeは、Time::Pieceで使うよw

標準モジュールのTime::Pieceが素のPerlを拡張してくれるのに、
今更配列のインデックスで年取得して+1900とかする
冗長なコード書くバカいるのかい?

146:営利利用に関するLR審議中@詳細は自治スレへ
12/03/29 01:26:41.94 .net
>>143
お前がTime::Piece知らないってのが
モロバレだなw

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

147:営利利用に関するLR審議中@詳細は自治スレへ
12/03/29 02:28:11.13 .net
> 素のPerlや標準モジュールが思いつかないあたり

って言っておきながら、標準モジュールをあげたら今度は

> がんばって標準モジュールを列記してみたものの、やっぱり素のPerlは
> 思いつかないところ

もしかして、自分の知らない標準モジュールばっかりで
方向転換したのかいな?

148:デフォルトの名無しさん
12/03/30 00:32:49.44 .net
ぷぷぷ。

149:デフォルトの名無しさん
12/03/30 01:00:11.52 .net
モダンPerlとそうでないPerlとの違い、メリットについてもっと教えておくれ

150:営利利用に関するLR審議中@詳細は自治スレへ
12/03/30 02:00:07.89 .net
標準モジュールを使いこなすのがモダン。
そうでないものは単に勉強不足なだけ。

151:デフォルトの名無しさん
12/03/30 21:55:40.66 .net
なんだ、そうだったのか。てっきりlocaltimeも満足に使えないのかと
思ってたよ。失敬、失敬、こりゃ失敬。

152:営利利用に関するLR審議中@詳細は自治スレへ
12/03/31 00:55:04.25 .net
念のため言っとくがlocaltimeから
リストコンテキストで取得するのは古いやり方だからな。

最近のやり方はlocaltimeからTime::Pieceオブジェクトを返す方法。
もちろん標準モジュール。

153:デフォルトの名無しさん
12/03/31 01:09:11.56 .net
で、Time::Pieceのインタフェースってlocaltimeと互換性あるの?
例えばリストコンテキストで使うと同じように値が戻ってくるの?

154:営利利用に関するLR審議中@詳細は自治スレへ
12/03/31 01:15:37.67 .net
>>152
% perl -MTime::Piece -E'say (localtime);say scalar localtime;say localtime->datetime'

155:デフォルトの名無しさん
12/03/31 01:19:35.68 .net
しばらくメリットを考えてみる。

156:デフォルトの名無しさん
12/03/31 02:46:36.36 .net
職場にようやく5.8が入ったんでよーし、これからはモダンPerlだぞ!と
意気込んできたらTime::Pieceは5.10以上と知ってがっかり。
らくだ本に載ってるTime::localtimeを使って愛想笑いでごまかすしかない。

157:営利利用に関するLR審議中@詳細は自治スレへ
12/03/31 07:54:16.78 .net
その職場に5.10が入るのは10年後であった。
そしてcpanmやperlbrewを入れることは全面禁止されていた。

158:営利利用に関するLR審議中@詳細は自治スレへ
12/03/31 10:15:27.26 .net
そんなんで仕事できるの?w
少なくとも効率が悪いね。

159:営利利用に関するLR審議中@詳細は自治スレへ
12/03/31 11:16:41.36 .net
古い所が新しい所に
あっさり追い抜かれる原因の一つである。

160:デフォルトの名無しさん
12/03/31 12:09:29.38 .net
やっぱりモダンっていうのは供給者側の視点であって、利用者側の視点が
抜け落ちているな。残念。

161:営利利用に関するLR審議中@詳細は自治スレへ
12/03/31 13:05:29.17 .net
利用者?
俺は利用者なんだが。

勉強しない奴に合わせる理由なんてないよ。

162:デフォルトの名無しさん
12/03/31 15:55:14.37 .net
おれに合わせる必要はない。逆におれはおれでperl4が使われているところも
あるから、がんばってlocaltimeで書くと。需要ベースで考えるしかない。
残念。

163:デフォルトの名無しさん
12/03/31 17:19:27.03 .net
まあゆっくりやっていこう。モダンPerlにタイムリミットがあるわけでなし。

164:営利利用に関するLR審議中@詳細は自治スレへ
12/03/31 19:21:56.77 .net
古いPerlにはタイムリミットあるけどな。

Perl4のサポート期間は10年ぐらい前に終わっていそうだけどw

165:営利利用に関するLR審議中@詳細は自治スレへ
12/03/31 19:22:54.88 .net
perl4の需要はすでに99.9%無い
かろうじて残っているような需要に対応する必要はない。

166:デフォルトの名無しさん
12/03/31 20:22:18.67 .net
お前に期待してないから大丈夫だ。

167:営利利用に関するLR審議中@詳細は自治スレへ
12/03/31 21:07:02.42 .net
>>161
Perl4に拘るのはせいぜいあなた個人あるいはお客様だけでありますように
あなたの後をうける人、あなたの下につく人が不幸にならないことを祈りたいですなぁ

168:デフォルトの名無しさん
12/03/31 22:03:37.68 .net
そうだね。

169:営利利用に関するLR審議中@詳細は自治スレへ
12/04/01 12:23:36.71 .net
windowsXp:ActivePerl環境で、perlをタスクスケジューラからバックグラウンドで実行させたい。
wperl.exeで実行すればよいとgoogle先生が教えてくれたんだけど、
↓でやっても実行時にウィンドウが一瞬だけ開いてしまう。
C:\Perl\bin\wperl.exe sample.pl

↓だと↑より長くウィンドウが表示されるので、wperl.exeが効いていないわけではないっぽい。
C:\Perl\bin\perl.exe sample.pl

うーん、なぜだ
誰か教えてください


170:デフォルトの名無しさん
12/04/01 19:58:44.51 .net
タスクスケジューラに設定したのはwperl.exeではなくバッチファイルと予想。

171:デフォルトの名無しさん
12/04/02 01:47:27.43 .net
% pp --gui --verbose --output=sample.exe sample.pl
でスクリプトをexeファイルにする。

URLリンク(search.cpan.org)

172:168
12/04/03 00:54:00.46 .net
デバッガあててみたら↓が原因だった
our $mech = new WWW::Mechanize(autocheck => 1);

手前は中で何やってるんだよ・・・
これ以上解析するのはめんどいが、
ウィンドウが表示されるのは耐え難いので
暇なときに中をのぞいてやる

>>170
なんかすごそう
暇なときにやってみる

173:営利利用に関するLR審議中@詳細は自治スレへ
12/04/07 01:50:55.99 .net
ハッシュにblessしたオブジェクトのプロパティに対してlvalue属性つきのサブルーチンを用意しようとしています。
単純なアクセサなので呼び出されたときにAUTOLOADで補足してインストールするようにしています。

package Config;
sub new { my ($class) = @_; bless { name => 'foo', }, $class; }
sub AUTOLOAD {
 no strict 'refs';
 my ($self) = @_;
 our $AUTOLOAD;
 if ($AUTOLOAD =~ /.*::(.*)\z/) {
  *$AUTOLOAD = sub : lvalue { my ($self) = @_; $self->{$1}; };
 }
 goto &$AUTOLOAD;
}
sub DESTROY {} # 一応・・

package main;
my $obj = Config->new;
print $obj->name,"\n"; #=>'foo'
$obj->name = 'bar';
print $obj->name,"\n"; #=>'bar'

これは正常に動作しますが、mainパッケージの最初のprint文をコメントアウトした場合や
新たなプロパティをセットしようとした場合↓にはAUTOLOADが呼ばれず(AUTOLOADに行く前に?)エラーとなります。

$obj->update = '2012/4/8'; => Can't modify non-lvalue subroutine call at...

回避方法あるでしょうか?

174:172
12/04/07 02:55:30.64 .net
投稿の際に行数を節約しようと修正した部分で動かないところがありました

×*$AUTOLOAD = sub : lvalue { my ($self) = @_; $self->{$1}; };

my $name = $1;
*$AUTOLOAD = sub : lvalue { my ($self) = @_; $self->{$name


175:}; };



176:営利利用に関するLR審議中@詳細は自治スレへ
12/04/07 17:14:55.67 .net
package _Config;
our $AUTOLOAD;

sub new { bless { name => 'foo' }, shift }

sub AUTOLOAD : lvalue {
my ($self) = @_;

(my $name = $AUTOLOAD) =~ s/.*://;
my $sub = sub : lvalue { shift->{$name} };
{
no strict 'refs';
*{$AUTOLOAD} = $sub;
}
$self->$name();
}

sub DESTROY {}

ここまで来ると普通のハッシュでよくね?
あと、ネタすれなんで、本スレで質問しる。

177:営利利用に関するLR審議中@詳細は自治スレへ
12/04/07 19:05:08.57 .net
在日韓国・朝鮮人や,
働かないで金をせびるクズ人間を取り締まってくれや。
追うも国士館,追われるも国士館頼むぞ。

URLリンク(www2.ocn.ne.jp)
URLリンク(www.masuko.co.jp)
URLリンク(keiten.net)

規律ある大学生活
URLリンク(daiminsya.exblog.jp)

国士舘OBの回想
URLリンク(www.youtube.com)

国士舘アルバム
URLリンク(www.youtube.com)



178:172
12/04/07 23:31:22.35 .net
>>174
おおーありがとうございます。AUTOLOAD自体をlvalueにするというのは気づきませんでした。
実際のプログラムはもう少し複雑ですが、正しく動作しています。

>>普通のハッシュでよくね?
たしかにw
一応オブジェクトであってはほしいのですが、ハッシュ記法であれば何の不都合もなく
$obj->{name} = 'bar';
と書けるわけですしね。
オマケでメソッド呼び出しも、と考えてたらハマってしまった格好です

179:営利利用に関するLR審議中@詳細は自治スレへ
12/04/08 21:43:29.63 .net
Apple 社の Mac OS X は、 ベースの一部 が FreeBSD です。Apple 社独自の
ユーザインタフェースとともに、豊富なUNIX(R)基盤が取り入れられています。

180:営利利用に関するLR審議中@詳細は自治スレへ
12/04/08 23:11:38.92 .net
OpenStepじゃなかったっけ?

181:デフォルトの名無しさん
12/04/14 14:38:18.13 .net
>>171
事前にSTDOUT、STDERRをつぶして
おいたらどーなる?

ウインドウアプリで、そこに吐くと、
自動的に新規コンソールが開く、
とかだったような。


182:デフォルトの名無しさん
12/04/17 22:06:08.88 .net
>>179
タスクのウィンドウが表示されなくなってうれしいものの、その他の
ウィンドウも一切表示されなくなりました ;_;
(D-SUB抜いて試しました)

183:デフォルトの名無しさん
12/04/18 03:18:24.23 .net
一方、日本は...




瞳をとじた

184:デフォルトの名無しさん
12/04/29 00:38:07.87 .net



そしてこのスレッドもクローズした

185:デフォルトの名無しさん
12/04/29 06:35:31.99 .net
再開

186:デフォルトの名無しさん
12/04/29 06:52:54.09 .net

  ∧∧
  ( ゚Д゚ )∩
 ⊂   ノ
  /  0
  し´
えっ…と、
ここかな…、と
 ∧∧ ∧∧
∩゚Д゚≡゚Д゚ )
`ヽ     |)
  | __ |~
  ∪  ∪
      ドスッ
  ∧∧.ミ. _
  (   )┌┴┴┐
  /   つ.再開│
~   ./ └┬┬┘
 ∪∪    ││_ε3
     ゛゛゛゛

187:デフォルトの名無しさん
12/04/29 14:21:23.37 .net
最近のPerlでOOP用ライブラリってどんなのが主流ですか?

188:デフォルトの名無しさん
12/04/29 14:23:06.27 .net
Mooseだろ?

最近のライブラリでそれ以外使ってるの有るのか?

189:デフォルトの名無しさん
12/04/29 14:25:50.06 .net
ありがとうございますMoose調べてきます

190:デフォルトの名無しさん
12/04/29 18:38:18.38 .net
Mooseが重いと思ったらMouseとAny::Mooseの組合せで代用もよし

191:デフォルトの名無しさん
12/04/29 20:25:09.14 .net
最初から Mouse 使ったほうが

192:デフォルトの名無しさん
12/05/15 18:28:38.45 .net
cpan でモジュールインストールしんたいんだけど
install やら make やら make install やら全部 OK
でたのに
perldoc -l インストールしたモジュール名
やるとそんなのないて怒られる。
なんで?

193:デフォルトの名無しさん
12/05/15 22:29:19.68 .net
>>190
普通 perldoc -l DBI などは成功すると思うよ。
どうやって入れたの? モジュール名は?

194:デフォルトの名無しさん
12/05/16 07:35:09.36 .net
>>191
cpan>install Math::Vector::Real
でいれて
全部 make やら make install やら全部 OK と出たが
ないようだった。

cpanplus でインストールしてみたらいけたのだが原因がわからない。

195:デフォルトの名無しさん
12/05/16 19:04:48.32 .net
Regexp::Assembleでマッチした時って
後方参照使えるの?

196:デフォルトの名無しさん
12/06/20 00:40:13.88 .net
perl 5.10.1 を使っています。
$str = "ABCD"; の時
@a = $str =~ /AB|CD/g;
を実行すると、@a = ( "AB", "CD" ) と2つの要素が返されますが、
@a = $str =~ /AB|BC/g;
だと、@a = ( "AB" ) しか帰ってきません。
(ABがマッチしたら、その次のCからサーチが始まるため)

@a に ("AB", "BC") と、マッチするものすべてを得たい場合、
どうすればよいでしょうか。



197:デフォルトの名無しさん
12/06/20 01:29:26.87 .net
なんか面白そうなお題なのでとりあえず最悪くさいものを作ってみた
素晴らしい人がボロクソにけなしてくれると期待しつつ投げてみる

$str='ABCD';
{
my $tmp=$str;
while($tmp=~/AB|BC/){
push @a,$&;
$tmp = $&.$';
$tmp=~s/^.//;
}
}
print join' ',@a;

198:194
12/06/20 02:51:53.45 .net
>>194
場当たり的に色々試していたら
@a = $str =~ /(?=(AB|BC))/g;
で、(AB,BC) が取得できました。
(?= で、次の走査開始点を移動させないようにしたから、でしょうか?

199:デフォルトの名無しさん
12/07/15 14:22:38.65 .net
一過性のモダンPerlはもう終わり。
らくだ本の発行によって本来のPerlへの回帰が始まっている。

200:デフォルトの名無しさん
12/07/15 14:36:07.64 .net
本来のPerl=5.0でも動く範囲でしかコード書かない

201:デフォルトの名無しさん
12/07/15 16:03:33.45 .net
そういえばPerl5のスレってないね?やっぱりまだPerlの方が使われてるのかな?

202:デフォルトの名無しさん
12/07/20 00:44:57.65 .net
モダンPerl書いたひとはどうしてるの?最近見ないけど、やっぱりだめなの?

203:デフォルトの名無しさん
12/07/20 06:04:14.97 .net
まあソースをみて改良したりとか前向きな動機はほぼゼロで99.99%はこのメーカー
困らせてやれって開示請求なんだろうな。


204:デフォルトの名無しさん
12/07/20 23:17:21.71 .net
モダンな奴はそもそもPerl使わないからな

205:デフォルトの名無しさん
12/07/25 02:06:14.30 .net
USP(Universal Shell Programming)研究所は、UNIX/Linuxの基本思想である、
「小さな道具」(コマンド)を組み合わせて「問題を解決する」(シェルス
クリプト)手法の研究・普及を行っています。この開発手法(ユニケージ
開発手法)は、従来のウォーターフォール型開発や、オブジェクト指向言
語・データベースソフトを用いた開発手法と一線を画し、圧倒的な開発生産
性 圧倒的な柔軟性を特徴としています。

URLリンク(www.usp-lab.com)

206:デフォルトの名無しさん
12/07/30 19:45:03.06 .net
本スレも、荒しに常駐されてぐだぐだだし、
WebProgの方も同じみたいに、スレ違いの会話が
ぐだぐだ続いて終了したし、終りかなあ。

ここのスレの方がまだ真面にperlの話をしてた気がするよ。


207:デフォルトの名無しさん
12/07/30 20:56:12.50 .net
まあモダンには2つあって、ひとつはすぐに古くなるモダン。
もうひとつはいつまでも古くならないモダン。
おれは断然古くならないモダンのほうがいいな。

208:デフォルトの名無しさん
12/07/30 23:46:15.85 .net
XSを使うと1年後に古くなるほうのモダンですか?

209:デフォルトの名無しさん
12/07/30 23:47:25.65 .net
軟便スキー独りか知らんが、
韓国ネタのコピペしたり
hoge煽りしたり
ググれ煽りしたり

馬鹿じゃねーの?

210:デフォルトの名無しさん
12/07/31 00:19:41.40 .net
そしてゆっくりモダンになっていく...
それが理想です

211:デフォルトの名無しさん
12/07/31 00:27:00.96 .net
進歩というものは過去を捨てることではない。
過去に加えて積み上げるものなのだ。

212:デフォルトの名無しさん
12/07/31 01:28:15.89 .net
荒しが950踏んで嬉々としてhoge禁止をテンプレに入れる姿が目に見える様だ


213:デフォルトの名無しさん
12/08/04 17:51:38.53 .net
過去のソフトウェアと作法やインタフェースが異なる言い訳としてモダンと
いう用語を使うのはまずい。今までより苦労が増えるなら移行は進むはず
がない。

214:デフォルトの名無しさん
12/08/05 20:55:07.11 .net
ところでこのスレが53箱目の続きってことでいいの?

215:デフォルトの名無しさん
12/08/05 20:56:46.40 .net
すまん、53箱目の続きあった。“54目”になってたんで検索に引っかからなかったわ。

216:デフォルトの名無しさん
12/08/06 18:23:11.89 .net
以下のように時刻と曜日が書かれたlogファイルがあります。

Jun 6 00:07:41 xxxxx
Aug 8 00:14:34 yyyyy
Aug 8 00:16:26 zzzzz

(以下略

現時刻から一時間前のログのみ抽出して、抽出したログの行数だけ出したいのですがこの処理って一行(ワンライナー)で書けますか?※重複とかは無視して単純に一時間分のログが引っこ抜ければ良いです。

詳しい人教えてください。

217:デフォルトの名無しさん
12/08/06 18:26:08.19 .net
>>214
訂正
1時間前のログのみ抽出じゃ無くて一時間分のログを抽出です。



218:デフォルトの名無しさん
12/08/06 18:57:53.32 .net
>>214
> この処理って一行(ワンライナー)で書けますか?
書けます。

219:デフォルトの名無しさん
12/08/07 18:06:48.10 .net
>>216
やり方教えてください!
一時間前の日付時刻と現在の日付時刻を比較して条件を満たせば該当行を出力みたいなことをやれば良いとおもうんですが、どう書けば良いのかわかりません

220:デフォルトの名無しさん
12/08/07 18:12:29.44 .net
横レス(別人)
$ perl -F'/[\s:]+/' -MTime::Local -lane 'BEGIN{ %m = map{uc $_, $i ++} qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec);} next if ( time - timelocal @F[4,3,2,1], $m{uc $F[0]}, 2012 - 1900 ) > 3600 ; print ;' *txt

年は 2012 年を期待、 2013 年になったら知らん。
年跨ぎを念頭に入れるとなると log file の形式から作成しなおし。
win の人なら、シングルクォーテーションをダブルに
変えなきゃ動かんかも。
勉強したいのであれば、エポック秒、時間比較 perl あたりでググる。


221:デフォルトの名無しさん
12/08/07 18:20:05.07 .net
>>218
あんた2012年の住人じゃないだろw

222:デフォルトの名無しさん
12/08/07 18:30:46.11 .net
>>218
レスありがとうございます。
参考にさせてもらいます。
でも2013年以降も使えるのが理想ですが…

223:デフォルトの名無しさん
12/08/07 18:34:05.93 .net
年跨ぎのケースを考え無くて良いなら、コードの2012を2013にすりゃいいだけ。


224:デフォルトの名無しさん
12/08/08 18:20:12.98 .net
というより、「年」は全部今年として扱えばいい。
年が明けてから1時間はまともにログを拾えなくなるけど。
そもそもログデータに「年」の情報が入っていないんだから、
厳密に処理するのは無理だべ。

225:デフォルトの名無しさん
12/08/08 18:36:12.52 .net
>>218に対して言ってるのなら、
最初からそれを念頭に書いてないか?
コードは既にそうなってるし、
説明文の方は質問者に向けたもんだし、
改造しやすいように除算は態々、2012 -1900 にして残してあるし。

それともtime関数に、年を除外するオプションでもあんの?


226:デフォルトの名無しさん
12/08/08 19:02:57.22 .net
>>223
年が変わるごとに 2012 を 2013 だの 2014 だのに書き換えるの面倒だろうから
「年」のところはログの日付も現在の時間も全部localtimeの「今年」という前提で
扱えば毎年コード書き直さなくてもよくなるだろっていってるんだよボケ。

227:デフォルトの名無しさん
12/08/08 19:09:28.99 .net
perl -F'/[\s:]+/' -MTime::Local -lane 'BEGIN{ %m = map{uc $_, $i ++} qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec);} next if ( time - timelocal @F[4,3,2,1], $m{uc $F[0]}, ( localtime(time))[5] ) > 3600 ; print ;' *txt

こういう意味ねw、了解した。


228:デフォルトの名無しさん
12/08/08 19:17:05.60 .net
で、試しに自分でも書いてみた。
LC_ALL=C perl -MTime::Piece -e '$lt=localtime;$ty=$lt->year;while(<>){next unless m/(\w+) +(\d+) +(\d+:\d+:\d+)/;$t=Time::Piece->strptime("$ty $1 $2 $3","%Y %b %d %H:%M:%S");$c++ if $lt-$t<3600}print "$c\n"' logfile
218の方がすっきりしてるか。なぜかうちの環境だとエラー吐いて動かなかったけど…。
(Day 'Jun' out of range 1..31 at -e line 1 て言われた)
LC_ALL=Cは環境によってはつけとかないとTime::Piece->strptime()がエラー吐くんで。
行数が知りたい、だったので行数出力にしたけど、該当行を全部出したいんだったら
$c++以降を print if $lt-$t<3600}' に置き換えれば218と同じ出力になる。
行数はwc使えばあとからでもわかるしね。

229:デフォルトの名無しさん
12/08/08 19:19:19.26 .net
>>225
了解してくれてどうも。
俺の日本語がわかりにくかったのか…

230:デフォルトの名無しさん
12/08/08 19:28:58.56 .net
>>226
> 218の方がすっきりしてるか。なぜかうちの環境だとエラー吐いて動かなかったけど…。
> (Day 'Jun' out of range 1..31 at -e line 1 て言われた)

なぜエラーが出たかわかった。自分でテスト用に切り出して作ったログファイルの
各行頭にスペースが入っていたからだった。(ありがち)

231:デフォルトの名無しさん
12/08/08 21:24:39.24 .net
>>227
違う。料理の合間に、斜め読みでレスした俺が悪い。


232:デフォルトの名無しさん
12/08/09 03:59:05.87 .net
perl -MTime::Piece -lE 'my $lt=localtime; my $ty=$lt->year ; while(<>){next unless m/(\w+) +(\d+) +(\d+:\d+:\d+)/;\
my $t=Time::Piece->strptime("$ty $1 $2 $3","%Y %b %d %H:%M:%S"); print q{#####} ; print ; print $lt ; print $t ; print $lt-$t }' log file
#####
Jun 6 00:07:41 xxxxx
Thu Aug 9 03:45:48 2012
Wed Jun 6 00:07:41 2012
5510287
#####
Aug 8 00:14:34 yyyyy
Thu Aug 9 03:45:48 2012
Wed Aug 8 00:14:34 2012
66674
#####
Aug 8 00:16:26 zzzzz
Thu Aug 9 03:45:48 2012
Wed Aug 8 00:16:26 2012
66562
#####
Aug 8 22:15:14 zzzzz
Thu Aug 9 03:45:48 2012
Wed Aug 8 22:15:14 2012
-12566

うちの環境だとTime::Pieceオブジェクトの除算が変だ。なんで?

233:デフォルトの名無しさん
12/08/09 05:09:37.92 .net
>>230
あう~。ホントだ。ウチでも同じだ。
Time::Piece->strptime()でTime::Pieceオブジェクトを作るとgmtimeベースになるっぽい。
URLリンク(digit.que.ne.jp)
だから引き算の結果がTZのoffset分ずれるのか…。strptime()でlocaltimeベースにするには…

$ LC_ALL=C perl -MTime::Piece -lE '$lt=localtime;$ty=$lt->year;while(<>){next unless m/(\w+) +(\d+) +(\d+:\d+:\d+)/;\
$t=localtime Time::Piece->strptime("$ty $1 $2 $3","%Y %b %d %H:%M:%S")->epoch;$t-=$lt->tzoffset;\
say q{#####};say $lt," = ",$lt->[Time::Piece::c_islocal];say $t," = ",$t->[Time::Piece::c_islocal];say $lt-$t}' logfile
#####
Thu Aug 9 04:57:20 2012 = 1
Wed Jun 6 00:07:41 2012 = 1
5546979
#####
Thu Aug 9 04:57:20 2012 = 1
Wed Aug 8 00:14:34 2012 = 1
103366
#####
Thu Aug 9 04:57:20 2012 = 1
Wed Aug 8 00:16:26 2012 = 1
103254
#####
Thu Aug 9 04:57:20 2012 = 1
Wed Aug 8 19:20:14 2012 = 1
34626

(こんな時間に何をやっているんだか)

もしくはstrptime()の方をいじらずに、
$lt=localtime; → $lt=gmtime;$lt+=localtime->tzoffset;
か…。gmtimeベースになっちゃうけど引き算の結果は正しくなる。
という訳で、けっこういろいろとメンドくさいもんですね。

234:デフォルトの名無しさん
12/08/09 08:02:26.85 .net
同じぐらいの長さのワンライナーなのに
>>218がダサくて>>226がスタイリッシュに見えるのはなぜだろう

235:デフォルトの名無しさん
12/08/09 08:03:44.22 .net
レスくれた人ありがとうございます>>214です。
まだperlは入門書読み終わった程度なので右も左も分かりませんが、教えて頂いたコードを参考に色々書き方を研究したいと思います。

236:デフォルトの名無しさん
12/08/12 12:31:10.61 .net
入門書読み終えたばかりの初心者には組込みのlocaltime関数を教えてあげないよ

237:デフォルトの名無しさん
12/08/13 16:57:18.75 .net
>>234
なにが言いたいのかわからん

238:デフォルトの名無しさん
12/08/14 00:43:26.35 .net
ほら、俺ってサ
意外にすいすいしいヤツ
だからサ

239:デフォルトの名無しさん
12/08/14 23:54:42.42 .net
初心者には localtime の方が便利な件

240:デフォルトの名無しさん
12/08/15 05:40:02.45 .net
>>234,>>237
既に>>225が提示してるだろ?
学習するかは質問者さんの勝手。

>>232
目医者行け。
266氏を晒す訳じゃないが、ワンライナにwhile(<>){}直接埋め込んでる時点で
スタイリッシュじゃない。

225に相当するコードをTime::Pieceで書いた場合、
perl -F'\s+' -MTime::Piece -lanE 'state $lt = localtime; next if $lt - localtime( Time::Piece->strptime((join " ", $lt->year,@F[0..2]),"%Y %b %d %H:%M:%S")) > 3600; say'
226に略
perl -F'\s+' -MTime::Piece -lanE 'state $lt = localtime; $c++ if $lt - localtime( Time::Piece->strptime((join " ", $lt->year,@F[0..2]),"%Y %b %d %H:%M:%S")) < 3600;}{ say $c'


241:266 (未来より参上)
12/08/15 16:15:51.26 .net
>>238
おおうスタイリッシュ。
state とか使ったことなかったけど便利そうだな。参考にさせていただきます。
ワンライナーはあんまし書かないのもあってオプションも -i -n -p -e くらいしか
普段使ってなかったりしますんで。-E すら滅多に使わないな…。nもpもなしに
while(<>)埋め込むのもループの前後で処理が必要な時とかは普通にやってるし。
その程度のスキルでもとりあえず動くものは書けるってのがPerlのメリットでもあり
欠点でもあると…まあこの場合メリットということで。TMTOWTDI。(覚えづらいよなこれ)

242:デフォルトの名無しさん
12/08/16 22:01:16.60 .net
なんで隔離スレで真面目に質問箱してんのよw

>>233
コード研究するんだったら、B::Deparseは必須。
% perl -MO=Deparse -lane '}{ print $.'
BEGIN { $/ = "\n"; $\ = "\n"; }
LINE: while (defined($_ = <ARGV>)) {
 chomp $_;
 our(@F) = split(' ', $_, 0);
}
{
 print $.;
}
-e syntax OK
調べたいコードのオプションの先頭に、-MO=Deparseくっつけるだけ。


それにしても、バルサン炊いたみたいに、人がいなくなったな本スレと初心者スレ。
実際の所は、ハイエナが肉に夢中になってるだけだろうけど。

243:デフォルトの名無しさん
12/08/19 22:14:32.47 .net
初めてのPerl第6版とPerl5.16.1のことだね。
Unicodeサポートの問題に今頃気づいたって読める。
第5版のときはまだ気づいていなかったのかな?
まあ、そんときは使ってなかったんだろうけどな。

244:デフォルトの名無しさん
12/08/20 05:51:33.20 .net
今上天皇侮辱発言の祭りが落ち着いたから、戻って来たぞゴキブリ。
でも、まあ、5割くらい減ったんじゃねーかな?


245:デフォルトの名無しさん
12/08/20 22:17:22.42 .net
バルサン耐性を備えて5割以上パワーあっぷぷぷw

246:デフォルトの名無しさん
12/08/26 15:07:51.22 .net
ゆっくりモダンになっていく・・・




・・・モダンRuby。

247:デフォルトの名無しさん
12/08/29 00:35:50.14 .net
モダンPERL追いかけてたら時代に取り残されましたとほほ

248:デフォルトの名無しさん
12/08/30 21:05:34.35 .net
>>245
その最後の「とほほ」だけで、もう10年以上は時代に取り残されてるよな

249:デフォルトの名無しさん
12/08/30 21:12:12.26 .net
とほほだってよw
もうお前5.6こそ最高とかいって周りに強要してろよ

250:デフォルトの名無しさん
12/08/31 00:07:22.19 .net
5.6だと日本語がちゃんと使えません。仕事で使うなら5.005一択です。

251:デフォルトの名無しさん
12/09/01 09:59:22.19 .net
どうやらモダンパールは時代遅れみたいですね
本家のパールはすでにその先に進んでます
テキスト処理90%のPerlが文字列を楽に扱えないなんてたちの悪い冗談でしか
ありません

252:デフォルトの名無しさん
12/09/02 02:19:31.92 .net
C++へのアンチテーゼの側面もあったPerlなのにモダンPerlはどうしちゃったのかな

253:デフォルトの名無しさん
12/09/03 01:19:39.59 .net
テクノロジーはスクラップアンドビルドなものと考える連中はとほほの内容が
古いと考えるようだ

254:デフォルトの名無しさん
12/09/08 14:37:07.80 .net
かってに「モダン」とか名乗るなや

255:デフォルトの名無しさん
12/09/09 00:59:31.20 .net
モダンでもないのにモダン名乗られてもなあ

256:デフォルトの名無しさん
12/09/09 08:13:34.65 .net
リャマ本第6版までモダンに毒されてるよ
おまいらリャマ本は第1版こそ至高・正義だ
定価より高くても中古で第1版を買え!

257:デフォルトの名無しさん
12/09/09 17:51:10.11 .net
第1版ってのはバージョン4のピンク本のことか?あれは本当にいい本

258:デフォルトの名無しさん
12/09/09 18:42:20.14 .net
ダヨモンPerl
アリャマ本

259:デフォルトの名無しさん
12/09/10 00:59:47.94 .net
赤らくだ本だとか赤リャマ本の序文、それにポケットリファレンスの序文でLarryはふざけ過ぎてしばらくの間O'reillyから干されていた。今回「まじめに書く」と誓ったためようやく第4版の執筆許可が下りたらしい。

260:デフォルトの名無しさん
12/09/12 00:04:41.71 .net
結局らくだ本的にはモダンPerl(=perl5.8)はスルーってことか
最近は重いモジュールも避けられる傾向にあるしな

261:デフォルトの名無しさん
12/09/12 00:11:25.67 .net
重いモジュールも避けられる傾向にあるしな(キリッ
とか言う奴は十中八九List::Utilとかを使わない

262:デフォルトの名無しさん
12/09/12 00:30:32.64 .net
実際に書かせてみればろくなコード書かないんだろうな

263:デフォルトの名無しさん
12/09/12 00:31:53.70 .net
モダンperlと言われているもののうち一部の重たいモジュールを持ち出して
重たいモジュールは避ける傾向にあるからモダンperlも避ける傾向だよねー
なんてどんな詭弁だよ

264:デフォルトの名無しさん
12/09/12 00:33:07.74 .net
確かにLarryはモダンPerlについて多くを語ろうとしないな
きっと軽いスクリプトが好きなんだろうなList::Utilとか使わない

265:デフォルトの名無しさん
12/09/12 00:55:43.31 .net
List::UtilはXSで書かれてるから自分でPerlで書くよりよっぽど高速なわけだが
てかとってつけたようにLarry様の名前出すなよw

266:デフォルトの名無しさん
12/09/12 01:36:14.68 .net
GUIやバイナリファイル扱うときにXSを使って効率を上げるのは分かるが
そうでないときにXS使ってスクリプトの利便性を下げるのは簡便だな。

267:デフォルトの名無しさん
12/09/12 01:47:29.25 .net
勘弁

268:デフォルトの名無しさん
12/09/12 02:38:31.59 .net
>>264
なぜ利便性が下がる?

269:デフォルトの名無しさん
12/09/13 23:01:41.84 .net
第1ヒント:テキスト萌えたんのポータビリティ強化月間

270:デフォルトの名無しさん
12/09/13 23:29:47.30 .net
「スクリプトが何かよく分かっていない」と書いたは


271:らたいらに3,000点。



272:デフォルトの名無しさん
12/09/14 23:30:28.34 .net
バイナリではないところがスクリプトの利便性って分かるかな?無理かな?

273:デフォルトの名無しさん
12/09/15 17:45:47.86 .net
利便性の優先度
作る人の利便性 <<< 使う人の利便性

274:デフォルトの名無しさん
12/09/15 18:43:43.53 .net
中身が古いか新しいかは使う人の利便性に影響はしないけどね

275:デフォルトの名無しさん
12/09/15 22:16:30.43 .net
結局モダンかどうかは気持ちの問題だし、供給者側の主張次第でしょ
利用者側にとってはちゃんと使えればどうでもいいよそんなもん

276:デフォルトの名無しさん
12/09/19 01:43:10.30 .net
モダンパールは単なる自己満足であったか
そもそも書いたときはモダンでも後で読むときはモダンではないわな
モダンと言われると互換性がないんじゃないかと思って警戒するひとも
いるかもしれないしな

277:デフォルトの名無しさん
12/09/19 02:38:41.68 .net
use strict;
use Encode;

278:デフォルトの名無しさん
12/09/20 09:27:07.77 .net
Perl 6は、ポストモダンですか

279:デフォルトの名無しさん
12/09/20 13:14:19.79 .net
バイナリでの文字列置換をしています

$str =~ s/\xFF/\x00/g;

という書き方ならうまく行くのに、

$src = '\xFF';
$dst = '\x00';
$str =~ s/$src/$dst/g;

ではうまく行きません
$srcの部分は思い通り検索できるのに、
$dstの部分はバイナリではなく \x00 という文字列に置換されます
どうすればいいですか

280:デフォルトの名無しさん
12/09/20 13:16:41.93 .net
$dst = "\x00";

281:デフォルトの名無しさん
12/09/20 13:31:02.66 .net
確かにそういうことなのですが、
何故$dstという変数を使うかというと、その中身が不定だからです
$dst に '00' とか '01' とかいろんな文字列が入った場合の置換の書き方はありませんか

とりあえず、pack("C", hex($dst)) と書いて eオプションで評価すれば
うまく行くのは確認したのですが、$srcみたいなスマートな書き方はできないものかと

282:デフォルトの名無しさん
12/09/20 14:11:13.98 .net
packするのが一番マシじゃないだろうか
ただ置換内ではなくその直前に追い出したいけど

283:デフォルトの名無しさん
12/09/20 14:30:17.21 .net
後半が文字列で表現されている時に、
それをテキストとして見ていいのかバイナリとして見ていいのか、
両方の解釈が有り得るのが問題なんだな

書いたままだよ、というルールで統一されていれば納得するものを、
コードに埋め込んだ時はバイナリだけど、変数が来たら文字列、という解釈をして、
しかも、置換の前半部分は変数でもバイナリとする変態文法
逆に前半を文字列として認識させたい時はどうするんだろう

284:デフォルトの名無しさん
12/09/20 22:51:50.63 .net
すみません、何がなんだか分からないのでゆっくりと、そして複数の質問で
あるのなら分割して1つずつ質問してもらっていいですか?
中卒なんで

285:デフォルトの名無しさん
12/09/20 22:56:52.61 .net
eval "" と eval {} と /e で解決しそうに読めるんですけど

286:デフォルトの名無しさん
12/09/21 00:33:30.46 .net
よくある
$str =~ s/%([a-zA-z0-9]{2})/pack("C", hex($1))/eg;

こんな置換を、packやらhexやら使わずに書いてみそ
という問題

287:デフォルトの名無しさん
12/09/21 00:35:30.66 .net
>>276
> バイナリでの文字列置換をしています
{
  no utf8;
  $str =~ s/\xFF/\x00/g;
}


288:デフォルトの名無しさん
12/09/21 00:43:45.02 .net
eval qq{ \$str =~ s/\\Q$src\\E/$dst/g };

289:デフォルトの名無しさん
12/09/21 11:42:35.55 .net
どうやってもスマートじゃないな
前半も後半も素直にpackしておくのが一番分かり易い
なまじ前半に書けてしまうのがおかしい

290:デフォルトの名無しさん
12/09/22 06:20:20.87 .net
文字列とバイナリを区別する時点から問題が発生していると思うので、
区別しなければ解決するのだと思う

291:デフォルトの名無しさん
12/09/22 12:20:01.08 .net
楽になるために区別するのならよいわけだけど、
区別したがゆえに苦労するのであれば、区別しなければ苦労はない。

過去にとらわれるのはもうやめです。進歩しませんよ。

292:デフォルトの名無しさん
12/09/22 15:03:36.74 .net
どっちに解釈するか文脈で判断、ということをperlはあちこちでやっていて、
それは多くの場合正しいので表面化しないけど、
こんな風に不合理を露呈する場合もある

293:デフォルトの名無しさん
12/09/22 20:40:59.67 .net
プログラムはテキスト、処理するデータはバイナリ
 対
プログラムはバイナリ、処理するデータはテキスト

深い質問だな、これは

294:デフォルトの名無しさん
12/09/22 22:17:29.81 .net
Win7上で、Strawberry Perl と SQL Server2008 を使用して開発をしています。

DBD::ODBCでDBにアクセスをして、データを操作しています。

質問
・DBIでSQL Serverのデータベースにconnectを作成し、あるキーとなる情報を取得するSQLを
 prepare、execute、fetchrow_arrayを使用して取得し、取得したキーをもとに別なSQLを作成し、
 実行しようとしましたが、「接続がビジーです」といった内容のエラーが返ってきます。
 fetchrow_arrayでデータを参照しつつ、同一のデータベースから同じようにデータを取得する
 ことはできないのでしょうか?
 
何か情報がありましたら、教えてください。
よろしくお願いいたします。


295:デフォルトの名無しさん
12/09/22 23:59:54.07 .net
2つのSQL文をひとつにまとめるのが正攻法に思えるが「参照しつつ」をやめて「参照し終わってから」にすればいいんじゃないかと言ってみた。

296:デフォルトの名無しさん
12/09/23 09:13:22.29 .net
SQL文を相関副問い合わせを使って書き直す

297:デフォルトの名無しさん
12/09/23 10:24:02.93 .net
Strawberry Perlは「接続がビジーです」に関わっていない件

298:デフォルトの名無しさん
12/09/23 11:27:29.98 .net
プログラムはテキスト(簡便)、処理するデータはバイナリ(簡便)

プログラムはバイナリ(勘弁)、処理するデータはテキスト(勘弁)


299:デフォルトの名無しさん
12/09/23 11:29:56.95 .net
$str = 'aaa[bbb[c]ddd]eee';
$str =~ s/\[.+?\]//;

こんな感じにした時に
aaa[bbbddd]eee
になって欲しい
gを付けたら、
aaaeee
になって欲しい

うまい書き方はありますか

300:デフォルトの名無しさん
12/09/23 12:06:04.53 .net
>>296
s/\[.{1}\]//;
オプションつけて最長マッチとかってあるのか?

301:デフォルトの名無しさん
12/09/23 12:40:34.62 .net
中身が固定だと判ってるなら\[c\]でいいんだけどね

302:デフォルトの名無しさん
12/09/23 16:22:38.40 .net
$str = 'aaa[bbb[c]ddd]eee';
$str =~ s/\[[^\[\]]+?\]//;
print "($str)\n";

# /g とは違うけど
$str = 'aaa[bbb[c]ddd]eee';
while($str =~ s/\[[^\[\]]+?\]//){}
print "($str)\n";


303:デフォルトの名無しさん
12/09/23 20:34:01.47 .net
スカラーで置換した数を返す、という仕様は
whileで使ってくれと言ってるようなもんだな

304:291
12/09/24 00:26:24.29 .net
>>292-293
ありがごうございます。
ただすみません、自分の書き方も悪かったのですが・・・

取得した情報で、その後の処理を変更しています。
そのため、発行するSQLもselectだけでなく、insert,update,deleteなどもあり、
単純にSELECTを見直すというわけにもいかず。


305:デフォルトの名無しさん
12/09/24 00:48:00.82 .net
複数のアクティブな結果セット (MARS) の使用
URLリンク(msdn.microsoft.com)


306:291
12/09/24 22:40:47.72 .net
>>302
ありがとうございます。
こんなものがあったんですね。知らなかったです。


307:デフォルトの名無しさん
12/09/26 00:01:18.00 .net
Perlのこと聞きたかったら、いつでもこのモダンPerlスレに来な

308:デフォルトの名無しさん
12/09/26 01:15:59.84 .net
モダン焼きは四角く切るのと放射状に切るのとどっちがいい?

309:デフォルトの名無しさん
12/09/26 05:22:19.56 .net
おちんちんお切ってしまえ

310:デフォルトの名無しさん
12/09/27 01:25:13.55 .net
たこ焼き器で作るとひと口サイズなので切らなくともよい。

311:デフォルトの名無しさん
12/09/27 06:03:41.53 .net
私女だけどひと口サイズのおちんちんは勘弁

312:デフォルトの名無しさん
12/09/30 12:10:27.15 .net
切り方変えても味は変わらないのでそのままかぶりつく

313:デフォルトの名無しさん
12/09/30 23:22:27.63 .net
結局一過性のモダンポールか、青臭いな

314:デフォルトの名無しさん
12/10/06 16:46:58.45 .net
少数のエリートが良かれと思っても多数派の一般民が取り入れないと意味がない
ひとがプログラミングする訳だから、フィーリングを大事にしないとだめだな

315:デフォルトの名無しさん
12/10/14 16:56:04.97 .net
開発効率のことだけで言うと
モダンPerlの方が効率がいいね。

316:デフォルトの名無しさん
12/10/14 23:37:41.19 .net
俺が好きなのはポストモダンPerlだな

317:デフォルトの名無しさん
12/10/15 03:13:27.49 .net
ああ、アレね、アレのことね

318:デフォルトの名無しさん
12/10/15 12:16:14.31 .net
Time::Pieceの実験用モルモットになるよりlocaltimeをツールとして安心して使うタイプか

319:デフォルトの名無しさん
12/10/15 15:57:01.88 .net
モジュールに一切頼らないスタイルこそが正義

320:ハートマン軍曹
12/10/15 18:43:05.44 .net
お前の顔はモダンアートの醜さだ!

321:デフォルトの名無しさん
12/10/16 00:31:08.75 .net
もうPerlは5.16の時代ですよ。
5.12とそれより前はサポート終了しました。

10年前のPerlのことなんか、
考える必要ないんですよ。

322:デフォルトの名無しさん
12/10/16 00:42:38.62 .net
5.6とか使いたい奴は自分らで勝手に使ってたらいい
ただし5.6を他人に強要したり、5.6向けに書いた古臭いスクリプトを他人に押し付けて保守させたりするな

323:デフォルトの名無しさん
12/10/16 01:21:14.64 .net
>>319
いやなことあったの?

324:デフォルトの名無しさん
12/10/16 01:23:22.72 .net
>>320
主にこのスレでねw

325:デフォルトの名無しさん
12/10/16 01:37:39.47 .net
とにかくコードが手元の環境で動くのが正義
そして長期間に渡るメンテが可能で楽なのが正義
localtimeは標準モジュールより格上の標準関数

ポータブルPerlこそがこの世の正義

319による保守は誰も期待していない

326:デフォルトの名無しさん
12/10/16 01:59:23.74 .net
>>321
無理して見なくていいぞ

327:デフォルトの名無しさん
12/10/16 02:00:05.08 .net
ポータブルPerlって
Perlのバージョンはなんだ?
言ってみろよwおらおらw

328:デフォルトの名無しさん
12/10/16 02:04:53.00 .net
>>322
> とにかくコードが手元の環境で動くのが正義

> ポータブルPerlこそがこの世の正義

矛盾してる

329:デフォルトの名無しさん
12/10/16 02:06:12.86 .net
>>322
> ポータブルPerlこそがこの世の正義

つまり手元の環境で動きさえすればいいってもんじゃないってか?

330:デフォルトの名無しさん
12/10/16 02:06:57.24 .net
>>322
> localtimeは標準モジュールより格上の標準関数

格上わろす

331:デフォルトの名無しさん
12/10/16 02:21:46.91 .net
手元にたくさんあるんだろ、モルモット君。

332:デフォルトの名無しさん
12/10/16 11:09:16.58 .net
localtime()は、Cにもあるよ

333:デフォルトの名無しさん
12/10/17 18:24:12.99 .net
うるさいゴミ

334:デフォルトの名無しさん
12/10/20 13:36:25.82 .net
リストコンテキストとスカラーコンテキストの違いとか printf とかはモダン
うんぬんの前に知らないとだめだろ。

モダンなゆとり世代。壮大な実験に付き合わされたモルモット。かわいそす

335:デフォルトの名無しさん
12/10/20 14:30:09.12 .net
刹那的なモダンPerlでは自分が書いたスクリプトを数十年に渡って保守する
ことは不可能と悟り本来のPerlに戻ってくる。で、localtimeで書く。

336:デフォルトの名無しさん
12/10/20 14:43:54.03 .net
>>332
perl本体に組み込まれた関数が何十年後も互換を維持してるとは思えないがな

337:デフォルトの名無しさん
12/10/20 15:22:59.17 .net
寿命が6~8年のモルモットの推測が当たるとは思えないがな

338:デフォルトの名無しさん
12/10/20 15:54:12.00 .net
数十年後も使い続ける物はCで書いとけよ。
Perl5自体、メンテされてるかどうか分からんぞ。

339:デフォルトの名無しさん
12/10/20 17:23:24.31 .net
mooseとか使いまくってる俺が通りますよ

早くPerl6出ないな~

340:デフォルトの名無しさん
12/10/20 20:08:44.97 .net
Cで書いたら実行環境の違いを記述するコードでアプリケーションが
埋め尽くされるんだろーなー

341:デフォルトの名無しさん
12/10/20 20:25:13.96 .net
>337
Linuxのソース見たけど、
一部の層で吸収しているから
ほとんどのコードは実行環境の違いなんて関係ないよ。

ま、お前にはそんな芸当出来ないだろうがな。がはははははwwww

342:デフォルトの名無しさん
12/10/20 20:32:14.18 .net
ゆとりだからLinuxしか習わなかったんだよね?かわいそす

343:デフォルトの名無しさん
12/10/20 20:34:13.97 .net
「Linuxしか習わなかった」と判断した理由を書いてください。

ゆとりの脳内はよくわかりませんのでw
あ、書かなくても(逃げても)構いませんよwww

344:デフォルトの名無しさん
12/10/20 20:54:05.91 .net
書いてもいいんだけど、Linuxのソースが、Linux以外のオペレーティング
システム上でperlを実行したときの実行環境の違いを吸収できると考えて
いるひとには理解できなそう

345:デフォルトの名無しさん
12/10/20 21:09:04.20 .net
たぶん、無理だろうね。かわいそす

346:デフォルトの名無しさん
12/10/20 21:21:01.55 .net
やっぱゆとりだったかw

実行環境の違いなんてそれを埋めるレイヤーに固めるから
アプリケーションがそんなコードで埋まることはないってのが
一番の趣旨だろ。

こういう作り方ってのは普通にやることだし、そんなことが
思いつかないってのは自分でやったことがないってことw

そこからこのセリフにつながる

ま、お前にはそんな芸当出来ないだろうがな。がはははははwwww


347:デフォルトの名無しさん
12/10/20 21:42:31.78 .net
>>343
意味不明

348:デフォルトの名無しさん
12/10/20 21:47:19.43 .net
意訳 馬鹿だから理解できないw

349:デフォルトの名無しさん
12/10/20 22:34:46.28 .net
興奮してるのか脳に障害があるのか分からないが
文章が無茶苦茶だな

350:デフォルトの名無しさん
12/10/20 23:27:28.93 .net
たぶんではなくて完全に無理です。コンテキストの理解を求める俺のほうが
完全に悪かったです。printf も覚えようとしなくて結構です。

どうもすみませんでした。

351:デフォルトの名無しさん
12/10/20 23:55:00.68 .net
モダンPerlが脳障■者を集めるのか、脳障■者がモダンPerlを好むのか

これって日本だけの現象なの?モダンRubyとかも同じ状況なの?

352:デフォルトの名無しさん
12/10/21 00:21:29.73 .net
いいから黙ってろって

353:デフォルトの名無しさん
12/10/21 00:34:27.55 .net
>>343
> こういう作り方ってのは普通にやることだし、そんなことが
> 思いつかないってのは自分でやったことがないってことw
>
> そこからこのセリフにつながる

罵倒を目的とした文章で代名詞の頻度が上がるのは、脳に良くない変化が起きていることを現すから気をつけた方がいい。

354:デフォルトの名無しさん
12/10/21 00:35:41.55 .net
じいさんがボケ始めた頃「あれ取って」が増えたのと同じか?

355:デフォルトの名無しさん
12/10/21 00:46:26.95 .net
>>350
> 罵倒を目的とした文章で代名詞の頻度が上がるのは、脳に良くない変化が起きていることを現すから気をつけた方がいい。

そんなデータはありませんwww
大丈夫?


356:デフォルトの名無しさん
12/10/21 01:30:13.87 .net
ボケ老人風文体わろす

357:デフォルトの名無しさん
12/10/21 02:33:32.41 .net
実行環境の制約(機器であったり、OSであったり、その会社の規則だったり)で
ポータブルなスクリプトを書かなければならないことはあるだろうけど、
制約によってモダンPerlで書かなければならないってことは現実にあるんだろ
うか?

その前にポータブルなスクリプトとレガシーなスクリプトの違いはちゃんと
理解できているのだろうか?

モダンPerlは結局のところ単なる自己満足なのだろうか?回答を求む。

358:デフォルトの名無しさん
12/10/21 02:48:51.74 .net
> ポータブルなスクリプトを書かなければならないことはあるだろうけど
お前のポータブルの意味って何?
新しいPerlを入れればいいだけだろ。

お前が言ってるのは、ポータブルなスクリプトを書く。ではなく
古いPerlにも対応したスクリプトを書くって話。

ポータブルとは関係ない。


359:デフォルトの名無しさん
12/10/21 08:22:34.33 .net
古いPerlって、どれくらい前のPerlの事を言ってるの?
CPANライブラリが動かないような古いPerlも視野に入れて開発しないといけないの?
どうして、そんな古いPerlに固執してるの?バージョンアップできないの?

正直モダンPerlって呼ばれてるような書き方をしてはいけないなんて制約がある


360:方が特殊すぎ



361:デフォルトの名無しさん
12/10/21 14:23:20.43 .net
自分の書くプログラムのスタイルなら、モダンだろうとクラシックだろうと好きに書けばよい。
でも、モダンPerl!モダン!モダン!って言う連中って、CPANとかのライブラリを使って書くことを
モダンだと言ってることが多い。

ライブラリを自分で抱えるのでなく、システムに入れろっていうのは横暴だし無理だろう。
すでに作られているシステムに、あとからCPANライブラリを追加したら、
既存のPerlスクリプト全ての再検証必要となるからね

362:デフォルトの名無しさん
12/10/21 14:57:36.30 .net
どんなモジュール追加したらそんな大げさなことになるんだよ。

363:デフォルトの名無しさん
12/10/21 15:03:26.42 .net
今のモダンPerlの世界は
perlbrew + cpanminus + local::lib を使って
システムに入れずに最新Perlを使うのです。

364:デフォルトの名無しさん
12/10/21 20:00:42.97 .net
『はじめてのPerl』にlocal::libとcpanmが出てくる時代になりました。

365:デフォルトの名無しさん
12/10/31 01:25:45.68 .net
書いたときにモダンなのは当たり前だろう
モダン推しは時間軸の視点が抜け落ちているんだな

366:デフォルトの名無しさん
12/11/04 13:29:05.31 .net
>>358
Encodeモジュールのようなモジュールだろ
まあ、あえて名指しはしないけどな

367:デフォルトの名無しさん
12/11/04 17:39:50.59 .net
なんでEncodeモジュールを追加しただけで
再検証が必要になるんだ?

Encodeモジュールは最近のPerlには標準搭載されてるだろ。
まさか最新のPerlで動かないコード書いてるのか?

368:デフォルトの名無しさん
12/11/06 01:19:20.40 .net
>>318 >>319
フリーソフトはそもそも AS IS だからサポート切れとかはない
今までのどのらくだ本にも最初に書いてある

で、強要だの押し付けただのってしたことあったっけ?

369:デフォルトの名無しさん
12/11/06 17:24:09.46 .net
>>364
URLリンク(perldoc.perl.org)

370:デフォルトの名無しさん
12/11/06 23:57:40.03 .net
And if you have a problem that the Perl community can't fix,
you have the ultimate backstop: the source code itself.
-- Programming Perl 4th Edition

371:デフォルトの名無しさん
12/11/07 00:29:49.79 .net
好きなだけ弄ればいいさ。
誰も止めやしない。

372:デフォルトの名無しさん
12/11/07 01:58:26.48 .net
Jcode,pmてまだまだ使われてるの?
さすがに require jcode はないよねー

373:デフォルトの名無しさん
12/11/07 21:36:21.96 .net
まだまだ現役です。だって使いやすいんだもん。

374:デフォルトの名無しさん
12/11/07 21:58:36.93 .net
Inline CとPerlとの
XSUB変換がperlgutの必須必要事項だと
会社の上司に言われたのですが、最後の

READMEに乗ってる
ようにmakeコマンドが生成されません。基本は
h2xs -A -n ExtModuleを実行し、種々の
実行環境を整えます。
参考URL:
URLリンク(d.hatena.ne.jp)

375:デフォルトの名無しさん
12/11/07 22:03:15.28 .net
どう説明しようかな

376:デフォルトの名無しさん
12/11/07 22:04:16.52 .net
#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"

#include "ppport.h"


MODULE = ExtModule PACKAGE = ExtModule

int
twice (x)
int x;
CODE:
RETVAL = x * 2;
OUTPUT:
RETVAL

上記を保存したのちに、makefile.plを事項しますが
Writing Makefile for ExtModule
Writing MYMETA.yml
というログを残すだけでmakeファイルらしき物は一向に
生成されません。

377:デフォルトの名無しさん
12/11/07 22:06:14.66 .net
ちなみに
コマンドプロンプトから

..
159 Changes
3,555 ExtModule.c
276 ExtModule.xs
lib
29,569 Makefile
864 Makefile.PL
97 MANIFEST
502 MYMETA.yml
187,518 ppport.h
1,211 README
t
のディレクトリが成立しています

378:デフォルトの名無しさん
12/11/07 22:08:46.56 .net
>>372
事項ではなくて、実行であります。
タイプミスすんまそん

379:デフォルトの名無しさん
12/11/07 23:24:53.47 .net
メタな問題が発生しているとだけ回答しておく

380:デフォルトの名無しさん
12/11/07 23:28:00.83 .net
Makefile.PLはこの作業を自動化するmakeファイルを生成してくれます。
↑これが原因か
何とも罪作りな記事だな
そのページのコメント欄に質問として書いちゃえよ

381:デフォルトの名無しさん
12/11/07 23:29:47.33 .net

※1 これはWindowsではうまく動かない可能性があります。

382:デフォルトの名無しさん
12/11/08 07:22:49.06 .net
初歩的なミスを
した物のどの記事もWin系なのかUni系
なのかわからん記事ばかりで

一応
WindowにGnuWin32を通した物の

make: *** `makefile' に必要なターゲット `C:\Perl\libConfig.pm' を make するルー
ルがありません. 中止.

なんてエラーが
返って来る。結局Windowユーザーは
Xsubpp覚えなくてもいいってことか。

383:デフォルトの名無しさん
12/11/09 00:56:41.22 .net
Xsubppによる利便性の低下、な

384:デフォルトの名無しさん
12/11/09 12:27:18.50 .net
>>379
これだから2cherはクズ

385:デフォルトの名無しさん
12/11/09 15:38:32.61 .net
新聞じゃないんだからw

386:デフォルトの名無しさん
12/11/11 22:47:24.71 .net
先生!makeファイルがmakeされません!

387:デフォルトの名無しさん
12/11/11 23:40:24.23 .net
sudo apt-get install make

388:デフォルトの名無しさん
12/11/12 09:00:12.42 .net
active perlだと、今はコンパイラも付いてくるからそれを使う。
makeはdmakeを使う。

389:デフォルトの名無しさん
12/11/14 00:00:27.32 .net
彼女がメイク中でした。



(高見盛に激似です)

390:デフォルトの名無しさん
12/11/17 20:22:53.85 .net
DOSこいっ

391:デフォルトの名無しさん
12/11/18 01:18:35.04 .net
文字列がtest_1やtest_2やtest_3のように
test_○のような形になっているかを正規表現で調べるにはどうすればいいんですか?
○の中は数字のみです

392:デフォルトの名無しさん
12/11/18 02:26:28.96 .net
$str =~ /\Atest_\d\z/

393:デフォルトの名無しさん
12/11/19 11:30:45.47 .net
>>387←正規表現スレじゃなくてここできいてるこの基地害なに?

394:デフォルトの名無しさん
12/11/25 00:36:01.64 .net
あげ

395:デフォルトの名無しさん
12/11/25 00:36:59.73 .net
モダン厨のすくつ

396:デフォルトの名無しさん
12/11/25 00:38:10.24 .net
さらに一文字減らせた!

($d,$m,$y)=(localtime)[3..5];printf "%04d"."-%02d"x2,1900+$y,$m+1,$d


print localtime->ymd

に対抗してコードを減らし中。

($d,$m,$y)=(localtime)[3..5];printf("%04d-%02d-%02d",1900+$y,$m+1,$d)
($d,$m,$y)=(localtime)[3..5];printf "%04d-%02d-%02d",1900+$y,$m+1,$d
($d,$m,$y)=(localtime)[3..5];printf "%04d"."-%02d"x2,1900+$y,$m+1,$d

397:デフォルトの名無しさん
12/11/25 00:38:50.82 .net
printfの後のスペースなくても動いた!

($d,$m,$y)=(localtime)[3..5];printf"%04d"."-%02d"x2,1900+$y,$m+1,$d

398:デフォルトの名無しさん
12/11/25 00:44:06.73 .net
そんなに短さにこだわるなら、無理やりprintfつかなくていいんじゃね?
sprintf馬鹿に感化されたのか知らんが。

($d,$m,$y)=(localtime)[3..5];printf"%04d"."-%02d"x2,1900+$y,$m+1,$d
($d,$m,$y)=(localtime)[3..5];print 1900+$y,"-",$m+1,"-",$d

399:デフォルトの名無しさん
12/11/25 00:49:11.82 .net
おっと馬鹿が勝手に条件変えてきたぞ

400:デフォルトの名無しさん
12/11/25 00:51:05.56 .net
>>394
print localtime->ymd;

これでいいんじゃね?

useまで入れたとしても短い。

use Time::Piece;print localtime->ymd;
($d,$m,$y)=(localtime)[3..5];print 1900+$y,"-",$m+1,"-",$d

401:デフォルトの名無しさん
12/11/25 09:16:00.99 .net
せめてPOSIX。

use POSIX;
print strftime("%Y-%m-%d", localtime);

402:デフォルトの名無しさん
12/12/02 11:20:23.79 .net
どうせすぐ古くなるんだから。保守するのに時間軸の視点は必要だぞ。

403:デフォルトの名無しさん
12/12/09 14:19:16.53 .net
ポータブルPerlとかモジュールなしPerlとか

404:デフォルトの名無しさん
12/12/09 15:03:54.83 .net
struct tfield *を保持する
MyTypeをブレースしたマジック変数を作りたい。
以下の(中略)のXSソースを使ってPerl側から


Hoge*な struct tfield *head[30]をハッシュに
よって閲覧するにはどうしたら良いか。そして、
マジックをRETVALにアクティブにするはどうればよいか具体的に述べよ。

struct tfield {
struct tfield *left[30];
int num;
char str[30];
struct tfield *right[30];
};
struct tfield *talloc(void)
{
return ((struct tfield *)malloc(sizeof(struct tfield )));
}

405:デフォルトの名無しさん
12/12/09 15:04:52.27 .net
MODULE = MyTypePACKAGE = MyType

HV*
DataList()
PREINIT:
struct tfield *p,*head[30];
CODE:
hash=newHV();
sv=newSV(0);
ref=newRV_noinc((SV*)newHV());
sv_setref_pv(ref,"main::Tie",head);

sv_setsv(sv,sv_2mortal(newRV_noinc((SV *)hash)));
sv_bless(sv,gv_stashpv("MyType",TRUE));

sv_magic((SV* )hash,SvIV(SvRV(ref)),PERL_MAGIC_hints,NULL,0);

if(mg_find(SvRV(sv),PERL_MAGIC_hints)!=NULL)
printf("PERL_MAGIC_hintsp\n");
p=mg_find(SvRV(sv),PERL_MAGIC_hints)->mg_obj;

RETVAL=hash;

OUTPUT:
RETVAL

406:デフォルトの名無しさん
12/12/09 15:10:51.49 .net
ちなみに環境はActive PerlでWindows7を使っています

407:デフォルトの名無しさん
12/12/09 15:13:07.96 .net
なお、提出期限は本日中とする。

408:デフォルトの名無しさん
12/12/09 20:41:15.31 .net
確かRETVALて
マジック変数だよな。Perl側にアウトライン
した時に恐らくマジックに変異してるジャマイカ?

そして、またXSに入りINT2PTRで閲覧しよう
とする。うんで、マジックが掛かってるとキズかず
隠蔽された構造体にアプローチしようとしてとする。

上手く考えが定まらず、マジックやら
文法そのものやらに、あっちやこっち浮気し
まくってたらいつの間にやら難題に押しつぶされそうになってた。

もう資料の少ないマジックに手をださないから
RETVALに代入した後の処置を教えください。

409:デフォルトの名無しさん
12/12/11 00:35:47.74 .net
つーか、スレまちがい

410:デフォルトの名無しさん
13/10/12 16:10:02.36 .net
今から学ぶならやっぱPerlよりPythonなのかなあ?

411:デフォルトの名無しさん
13/10/12 21:02:22.21 .net
>>406
りょうほういっとけ

412:デフォルトの名無しさん
14/01/05 23:44:28.13 .net
>>406
さすがにrubyやphpならともかく、pythonはナイわ

413:デフォルトの名無しさん
14/01/06 16:11:01.27 .net
解析するならPythonじゃね?
クラックコンテスト上位者はみんなPython使いのようだし。

414:デフォルトの名無しさん
14/01/06 16:12:58.25 .net
間違えた、ハッキングコンテスト。

415:デフォルトの名無しさん
14/01/17 01:37:55.47 .net
Django使うの以外にPython使う理由が見つからない

416:デフォルトの名無しさん
14/01/17 08:52:36.67 .net
倍幅文字を含んだ文字列を端末にテーブル状に整形して表示したいのですが,

==================================
# ソースの文字コード: utf8
printf "%04s\n", 'ab';
{
  use utf8;
  printf "%04s\n", 'あ';
}
{
  no utf8;
  printf "%04s\n", 'あ';
}
===================================
00ab
000あ
0あ

use utf8 だと文字数でカウントしてるようなので
倍幅文字を含んだ行と含まない行とでズレてしまいます.

no utf8 だとバイトでカウントしているようなので
やはりズレてしまいます.

端末上に上手く整形して表示する方法はないものでしょうか?

非モダン質問箱の方は質問できる雰囲気ではなかったので
こちらで質問させて頂きました.

417:デフォルトの名無しさん
14/01/17 14:45:12.15 .net
my $文字幅合計=0;
my @文字群 = split //, $文字列;
for my $i(0 .. $#文字群){
$文字幅合計+=((unpack('C*', $文字群[$i]) - 30)*(unpack('C*', $文字群[$i]) - 127) < 0) ? 1 : 2;
}

文字のバイト列が31(\x1f)から126(\x7e)なら1でそれ以外は2を返す

418:デフォルトの名無しさん
14/01/17 14:52:43.34 .net
>>411
生粋のWeb脳って気持ち悪い

419:デフォルトの名無しさん
14/01/17 17:55:39.71 .net
ゴミ

420:デフォルトの名無しさん
14/01/17 21:47:20.63 .net
そういうのもうあるみたい
URLリンク(github.com)

421:デフォルトの名無しさん
14/01/18 19:55:51.97 .net
与えられた文字列から適当な数値を求めたいんだけど
標準関数で簡単にやるにはなにかいい方法ある?

422:デフォルトの名無しさん
14/01/18 21:05:51.45 .net
せめて10レスくらい読めよ
$ perl -le 'print for unpack q{C*}, q{もじ}'
227
130
130
227
129
152

423:デフォルトの名無しさん
14/01/18 21:11:44.49 .net
>>418
お前やっぱ頭良くないんだな

424:デフォルトの名無しさん
14/01/18 21:13:59.31 .net
joinすりゃいいだけじゃん

425:デフォルトの名無しさん
14/01/18 21:17:28.94 .net
>>418
それだと文字列が長い時に困るんだよね

426:デフォルトの名無しさん
14/01/18 21:17:41.63 .net
そこまで書かなきゃいけなかった?

427:デフォルトの名無しさん
14/01/18 21:21:14.21 .net
>>422
いいから早く消えろってことだよ
やんわり言ったら分からなかった?

428:デフォルトの名無しさん
14/01/18 21:26:46.26 .net
>>422
ウザ杉

429:デフォルトの名無しさん
14/01/18 21:27:09.30 .net
>>421
BigInt付けるか、他の方法を考えるかしたら?
文字列じゃなくて、変数ってんならアドレスとかの方法もあるけど、

430:デフォルトの名無しさん
14/01/18 21:28:17.27 .net
あっちで釣りの続きしてればいいのに

431:デフォルトの名無しさん
14/01/18 21:29:11.08 .net
>>425
何で上から目線なの?
自己顕示欲満たしてやってんだから嫌なら答えるなよ。

432:デフォルトの名無しさん
14/01/18 21:31:14.66 .net
>>425
基地害のお客様はこちらへお引き取りください。

スレリンク(tech板)

433:デフォルトの名無しさん
14/01/18 21:32:59.96 .net
そもそもこんなところで質問してあーだこーだ言わないと使えないんだったら、
Rubyをサクッと学習してやったほうが早い。

434:デフォルトの名無しさん
14/01/18 21:33:11.61 .net
嬉しそうだなあ、、、

435:デフォルトの名無しさん
14/01/18 21:38:18.15 .net
>>426
バーカ

436:デフォルトの名無しさん
14/01/18 21:39:58.39 .net
嬉しそうだな、、、

437:デフォルトの名無しさん
14/01/18 23:17:08.53 .net
配列の配列を戻り値にしたいんだけど
どうしたらいい?

438:デフォルトの名無しさん
14/01/18 23:21:00.50 .net
そういう場合は配列のリファレンスを使う

439:デフォルトの名無しさん
14/01/18 23:47:42.99 .net
自演キモw

440:デフォルトの名無しさん
14/01/19 00:03:33.90 .net
Perl厨の自演って分かりやすいな。
文章構成能力がないから、短文で一問一答w

441:デフォルトの名無しさん
14/01/19 08:36:16.42 .net
お前の自演の方もなかなか解りやすいぞ、PHP厨

442:デフォルトの名無しさん
14/01/19 14:34:32.39 .net
糞言語の糞スレ

443:412
14/01/19 20:39:49.50 .net
>>413
制御文字を除外するために文字が特定範囲にあるか調べる方法がテクいです

>>416
同じことを思ってる人はいるものですね.
使ってみた限りでは問題なく調整してくれるみたいです.
\p{East_Asian_Width} で定義されてるかどうか等で判定しているので
半角カナもちゃんと幅1で計算されます.


MBPrintf.pm の方を使って printf を置き換えることにしました.
HTMLとかにして出力するしかないかなと思っていたところ



444:くっと printf を置換えするだけで綺麗に出力できそうなので 大変助かりました. 質問してみて良かったです. レスありがとうございました.



445:デフォルトの名無しさん
14/01/19 20:47:27.99 .net
>>439
やっぱ馬鹿なんだな
お前みたいな奴が日本のIT産業をダメにしてんだよ

446:デフォルトの名無しさん
14/01/19 23:18:27.65 .net
同じこと考えるも何も、日本でPerl広めたのはこの人だよ

447:デフォルトの名無しさん
14/01/20 01:59:57.20 .net
>>439=無知の極み

448:デフォルトの名無しさん
14/01/20 02:09:18.33 .net
受け答えのレベルから推察するとシフトJISを使うことを思いついていない気がする

449:デフォルトの名無しさん
14/01/20 04:37:59.99 .net
Perl以前の知能の問題なんだろw

450:デフォルトの名無しさん
14/01/20 06:18:02.59 .net
コマンドラインで使う前提での質問なのにシフトJISってw
質問すら読解する能力無いだろ

ほんとにWebProgに帰れよドアホ

451:デフォルトの名無しさん
14/01/20 10:35:12.20 .net
ゴミは黙ってろ

452:デフォルトの名無しさん
14/01/20 17:02:27.54 .net
>>445
草生やしてんじゃねーよ。
半笑いのつもりか?
半笑いでバカをアピールする>>445哀れ。

453:デフォルトの名無しさん
14/01/20 19:07:10.73 .net
連レスかまして無知晒すから、解りやすいぞPHP厨

454:デフォルトの名無しさん
14/01/20 22:18:42.87 .net
キチスレ


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch