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

0001デフォルトの名無しさん2012/01/21(土) 10:56:39.03
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辺り


0002デフォルトの名無しさん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/
0003デフォルトの名無しさん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
0004デフォルトの名無しさん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
0005デフォルトの名無しさん2012/01/21(土) 11:40:18.24
1レスで理解できるutf8フラグ

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

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

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

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

話はこれだけ。
0006デフォルトの名無しさん2012/01/21(土) 13:51:55.46
【プログラミング部】 PHPが100倍速で動くようになったぞー
http://awabi.2ch.net/test/read.cgi/poverty/1327050821/
0007デフォルトの名無しさん2012/01/21(土) 21:49:44.50
あのー、重複スレってことないですか?
0008デフォルトの名無しさん2012/01/29(日) 11:19:25.66
はてなキーワード > モダン
ttp://d.hatena.ne.jp/keyword/%A5%E2%A5%C0%A5%F3

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

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

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

そうしないと「えっ?いまどきモダンPerl使ってるのかよ、お前w」なんて
ことになる。
0009デフォルトの名無しさん2012/01/29(日) 11:38:31.81
個別の技術は是々非々で議論しましょう。
現状は、モダンという名のせいで盥水とともに赤子を流してしまっています。
0010デフォルトの名無しさん2012/02/03(金) 01:55:40.19
モダンPerlと呼ばれているものは、過去の一時期のスタイルと結びついていて
今はもう使われていない。一方、レガシーPerlと呼ばれているものは現在でも
利用されていて、その名とうらはらに全くレガシーな気がしない。

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

そういえば、モダンRubyやレガシーRubyという言葉は聞いたことがない。
名前重要っていうのは本当なんだな。
0011デフォルトの名無しさん2012/02/03(金) 07:54:57.41
ルビーはバージョン毎に違うからなあ
新旧をバージョン番号以外で呼ぶ事は今後もないんだろう
0012デフォルトの名無しさん2012/02/04(土) 00:24:55.23
83JISは新JISですね。わかります。
0013デフォルトの名無しさん2012/02/04(土) 10:44:31.66
2012年なんだから、そろそろ新JISキーボード使おうよってスレですね。
わかります。
0014デフォルトの名無しさん2012/02/05(日) 16:28:37.59
問題を解決する方法がモダンかどうか、誰もこだわっていない件
0015デフォルトの名無しさん2012/02/08(水) 01:37:01.27
今はポストモダンの時代
0016デフォルトの名無しさん2012/02/08(水) 01:42:45.73
何がどうなるの?教えて、教えて
0017デフォルトの名無しさん2012/02/08(水) 22:53:51.78
結局、モダンって何だったの?
本を売りたかったとか、会社作ってみたとか、そういうことなの?
失敗だったの?
もうモダンには会えないの?
0018デフォルトの名無しさん2012/02/09(木) 18:46:51.29
         _  , 、
     r‐v'´ ̄  `~ く     
  _.  7,‐、   r‐、  ヽ   だったら Perlのはじめて を
  (._ ^ヽ|{ 0 _l 0ノ   i
   ヽ (´ ̄  `_, ヶ  ノ   見に行こうよ 
     `、`ー-ヾ._.// )
     /      (_.ノV^) 「クルクルバビンチョパペッピポ、イア!イア!ハスターの
      i    _     「
    L_ _/  \_ _.ノ
0019デフォルトの名無しさん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
0020デフォルトの名無しさん2012/02/10(金) 00:41:07.42
「モダン、ここはどこ?」
0021デフォルトの名無しさん2012/02/10(金) 04:35:12.65
ネタが古い
0022デフォルトの名無しさん2012/02/11(土) 00:04:56.56
ここはね、パークハイアット東京。
The Perl Confernce Japan の会場だょ。

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

(コーヒーがおいしいょ。)
0023デフォルトの名無しさん2012/02/11(土) 04:05:03.81
ワンライナー [ 一行野郎 OneLiner ]
0024デフォルトの名無しさん2012/02/21(火) 06:43:24.21
書き込みテスト
0025デフォルトの名無しさん2012/02/21(火) 23:13:43.25
結局、モダンPerlって何だったんですかね?
0026デフォルトの名無しさん2012/02/22(水) 14:11:38.18
Perlの長所であり短所であるTMTOWTDIによるコードの難読化を共通ルールっぽいテンプレで改善しようという風潮
0027デフォルトの名無しさん2012/02/22(水) 21:13:46.02
変なこと考えるより、ポータブルCみたいにポータブルPerlで書けばいいと
思うんでそうしてる。書きやすいし読みやすい、おまけに長期的に保守
できる。これもTMTOWTDIのひとつの形態。
0028デフォルトの名無しさん2012/02/23(木) 21:47:31.36
長期的に保守できる=いつまでもモダン。
0029デフォルトの名無しさん2012/02/24(金) 15:24:49.40
>>28
動いているものに手を入れるな。
手を入れるときは該当箇所にだけ入れろ
決して他の部分をいじるな。

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

これこそモダン
0030デフォルトの名無しさん2012/02/25(土) 00:48:11.36
気が合いそうですね
0031デフォルトの名無しさん2012/02/25(土) 00:58:50.25
モダンが嫌いな人って、新しいものが嫌い。
だからデザインパターンもリファクタリングも
アジャイルも嫌い
0032デフォルトの名無しさん2012/02/25(土) 01:20:21.71
そう捉えてるとするならば、ちゃんとコトを理解できていない
0033デフォルトの名無しさん2012/02/25(土) 04:47:56.86
Perlの評価の8割はCPANだよね
Rubyの評価の8割はRailsだよね
0034デフォルトの名無しさん2012/02/25(土) 13:39:26.50
残りの2割はPerl4ですか
0035デフォルトの名無しさん2012/02/25(土) 13:55:49.15
Perl4はマイナス評価だよ。
0036デフォルトの名無しさん2012/02/25(土) 14:20:32.95
加えてPerl6もマイナス評価だからPerlはPerl5が支えているといっても寝言ではない
0037デフォルトの名無しさん2012/02/26(日) 21:09:36.58
「モダンPerl」の"モダン"はあさってな方向に行ってしまっているので、
一般的な単語のモダンとは意味が違っている。だから>>31の言っている
ことは間違い。
0038デフォルトの名無しさん2012/03/02(金) 09:42:04.91
>>35
うそつけ。このスレを潰そうとする連中はみんなPerl4時代のコードしか書かないじゃんか。
0039デフォルトの名無しさん2012/03/03(土) 00:51:07.30
Perl4も現役で使われているのでモダンですよ。
モダンではないのは(らくだ本が出版されていなかった)Perl3以前ですよ。
もちろん異論はありませんね?
0040デフォルトの名無しさん2012/03/03(土) 00:52:39.18
現役でサポートされてるディストリで
Perl4が入っているものを教えて下さいよw
0041デフォルトの名無しさん2012/03/03(土) 04:06:39.76
5.8が出てから今年で10年。
それより前は昔の実装でおk。
0042デフォルトの名無しさん2012/03/03(土) 10:52:44.75
こうして世界は騙された!!
0043デフォルトの名無しさん2012/03/03(土) 11:06:06.57
ディストリインストールできる人はPerlもインストールできるんじゃね?
0044デフォルトの名無しさん2012/03/03(土) 15:18:20.72
まさかオマイラ、ディストリ付属のperlをそのまま使ってる、なんてことないよな?
0045デフォルトの名無しさん2012/03/03(土) 16:17:57.11
ディストリのパッケージ以外からperlとかモジュールとか入れたらシステムの安定性が壊れる
パッケージが提供されてないモジュールを野良ビルドで入れたりしない
cpanm、perlbrew、local::libを使うなどもってのほか

↓のスレ読んで出直せ
http://toro.2ch.net/test/read.cgi/tech/1217851121/544-
0046デフォルトの名無しさん2012/03/03(土) 16:36:36.95
>>45
押すなよ絶対押すなよみたいな言い方ですね。

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

0047デフォルトの名無しさん2012/03/03(土) 19:02:12.13
>>45
root管理のパッケージと混ぜないために、cpanmやlocal::libを使うのよ。
ユーザ権限でユーザ領域に突っ込めるから、バックアップも楽だし、
いらなくなったらユーザごと消せばいいし。
Perl自体は、特に必要ない限り、システム付属使ってるけど。
0048デフォルトの名無しさん2012/03/06(火) 23:18:42.91
ユーザが移行するのは、今までよりも分かりやすいもの、使いやすいもの。
今までよりも新しいもの、多機能なもの、ではない。
0049デフォルトの名無しさん2012/03/06(火) 23:35:43.27
モダンなものってたいがいわかりやすくて
使いやすくなってるよね。

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

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

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

だから俺は古いやり方を教えている奴を見つけたら
今はこうやる。こっちのほうがもっと簡単だと
情報を広めている。
0052デフォルトの名無しさん2012/03/07(水) 02:54:40.01
新しいけど使いづらいって、自分で言っているようなもんだな
0053デフォルトの名無しさん2012/03/07(水) 03:03:09.93
面倒なやつは無視が一番。
0054デフォルトの名無しさん2012/03/07(水) 03:57:57.80
CPANをすべてRubyが補完してくれたらどんなにいいだろう。
0055デフォルトの名無しさん2012/03/07(水) 23:12:02.32
   end
  end
 end
end

あぁ、終わりだもうだめだぁ
0056デフォルトの名無しさん2012/03/08(木) 00:42:07.15
まあモダンなPerlを知らなければ、
Perl使いとみなせない時代にはなってるよね。
0057デフォルトの名無しさん2012/03/08(木) 00:51:37.53
もちろん情報は日々取得してるから知られてはいるんだろうけど、
使いやすくなかったらいつまでたっても使われることはないよね。
0058デフォルトの名無しさん2012/03/08(木) 01:03:50.28
使われてるけどね。
Perlで作られてる他のプロジェクト見たこと有る?
(昔に作られて放置されてるのは除く)

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

0059デフォルトの名無しさん2012/03/08(木) 23:37:48.23
0060デフォルトの名無しさん2012/03/09(金) 01:54:01.68
確かに Time::Piece 以外は見たことがないね
0061デフォルトの名無しさん2012/03/09(金) 02:06:51.28
>>58
海外で使われていないと、自分が日本語を処理するときに使っちゃいけないの?
日本では使ってもいいんでしょ?
そもそもモダンっていうのは禁止して不便にすることなの?
それにJcodeはオブジェクト指向なんだし十分モダンだと思うけどな
0062デフォルトの名無しさん2012/03/10(土) 00:38:59.17
モダンPerlでいうところの"モダン"は、
 1.リリース時期のことをいっているのか
 2.実装手法のことをいっているのか
 3.はたまたインタフェースのことをいっているのか
ところで、インタフェースっていうのは
 a.新しければ新しいほど好ましいのか
 b.古ければ古いほど好ましいのか
このあたりの見解が一致しないと、具体的なモノがモダンなのか
そうでないのかが変ってしまうし「これはモダンだ」と言ったか
らって、そのものに価値があるのか無いのかは別問題になる
0063デフォルトの名無しさん2012/03/10(土) 01:24:18.18
1.がモダンでも2.がモダンでも利用者にとって関係なく、単に供給側
の自己満足になってしまう。3.のことだとすると新しいもの好きはa.で、
人柱をかってでることになるわけで、そうでないならb.で問題ない。
0064デフォルトの名無しさん2012/03/10(土) 02:28:05.91
>>62
Rubyはモダンだ。

そこからいえばRubyに近いことを
Perlでやるのがモダンだ。
0065デフォルトの名無しさん2012/03/10(土) 02:38:52.80
モダンの定義は分かったけど、それ価値あんの?
0066デフォルトの名無しさん2012/03/10(土) 02:45:52.84
あるよ。

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

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

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

Perlだけじゃ、世界が狭いからほかの言語をやるといい。
そうして戻ってくると、自然とモダンPerlな体になってるよ。
0067デフォルトの名無しさん2012/03/10(土) 02:50:23.82
考え方が間違っていたかもしれない。

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

よくよく考えたら、最近はやりのほかの言語の機能を
PerlでやれるようにしたがモダンPerlなモジュールではないだろうか。
0068デフォルトの名無しさん2012/03/10(土) 11:58:33.08
モダンPerlはアンチPerlなのか...
それでPerl原理主義者の抵抗にあっているという構図か
0069デフォルトの名無しさん2012/03/10(土) 12:24:09.53
ニーズにマッチしないモダンならいらないよ。
0070デフォルトの名無しさん2012/03/10(土) 12:38:37.16
便利ならそれでよくて、モダンという線引きは要らないってことでおk?
0071デフォルトの名無しさん2012/03/10(土) 12:41:50.76
お好み焼きとの違いがいまだに覚えられない
0072デフォルトの名無しさん2012/03/10(土) 15:44:56.75
どうにも架空臭がするモダンPerlだが最近ますますそう感じている。
(モダンPerlを構成するといわれる)個別の要素の議論で十分だと思う。
ひと括りにしてしまうせいで大事なものまで一緒に捨てられてしまう。
0073デフォルトの名無しさん2012/03/10(土) 23:59:10.17
モダンPerlではなく、
Perlでモダンプログラミングといえば、
面白いように情報弱者が落ちていく。
0074デフォルトの名無しさん2012/03/11(日) 00:48:24.53
モダンっていう言い方が古臭い
0075デフォルトの名無しさん2012/03/11(日) 01:03:16.37
トレンディPerl
0076デフォルトの名無しさん2012/03/11(日) 02:15:55.91
単に"モダンPerl"と言いたいだけにしか思えない
Perlのリリースが予定通りじゃなかったり、らくだ本の改版に10年もかかっ
たりするからって、無理して話題を作る必要はない

5.14.3がリリースされない今はらくだフォーでつなぐのが吉
0077デフォルトの名無しさん2012/03/11(日) 02:21:20.79
普通にPerl5を使えばいいだけ。
0078デフォルトの名無しさん2012/03/11(日) 04:00:30.75
Perlのオブジェクト指向はどう考えてもいびつでおかしいのに
それを主張しても理解できない人の戯言にされてしまう。
0079デフォルトの名無しさん2012/03/11(日) 04:48:04.26
お好み焼きは食えるけど、モダンPerlは食えないね。
0080デフォルトの名無しさん2012/03/11(日) 05:14:03.94
>>73
人間としての品位を疑われるぞ
社会に適合してないんじゃなイカ?
0081デフォルトの名無しさん2012/03/11(日) 08:47:05.63
>>76
らくだフォー?
0082デフォルトの名無しさん2012/03/11(日) 12:35:38.71
らくだフォア
 モダンはとおくに
  なりにけり
0083デフォルトの名無しさん2012/03/11(日) 12:59:34.63
>>78
Perlのオブジェクト指向はいびつ

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

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


>>78
お前はPerlを使いこなせてないだけ。
0084デフォルトの名無しさん2012/03/11(日) 17:32:12.27
またそんな青くさいこといちゃって、このフォーティーンめ
0085デフォルトの名無しさん2012/03/11(日) 19:50:09.03
モダン推奨者は自分が社会に適合しようとするんじゃなくて、社会を
自分に適合させようとしている。

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

その繰り返し。
0086デフォルトの名無しさん2012/03/11(日) 20:47:59.28
>>85
そうそう。
CPANモジュールで楽せず全て一から自分でコードを書くのが社会の常識だからね。
0087デフォルトの名無しさん2012/03/11(日) 21:48:16.89
モダン、モダンとか言って周りに合わせられないのは単に能力がないだけでしょ
0088デフォルトの名無しさん2012/03/11(日) 22:00:36.17
>>87
ねぇ。
自分でコードかけないからCPANモジュールなんぞ入れようとするんだよ。
0089デフォルトの名無しさん2012/03/12(月) 00:38:19.94
ググって何も出なかったら「ありません。」で終わりだもの、今のひとは。
0090デフォルトの名無しさん2012/03/12(月) 01:08:30.57
>>89
ばかばかしいよね。
何も出なかったら自分で書けよ、と。
0091デフォルトの名無しさん2012/03/12(月) 12:37:32.86
>>87
モダン、モダン言わなくても、周りに合わせられなければ、単に能力がないだけ。
つまり、モダンプログラミングと、周りに合わせられない事は別問題。

>>90
そこは迷うところだな。別の手を考えるか、そのまま自分で実装するか。
ある意味チャンスだ。
0092デフォルトの名無しさん2012/03/12(月) 23:57:29.35
別の手ってYahoo!か?
0093デフォルトの名無しさん2012/03/13(火) 02:54:48.40
質問箱よりOKWaveがお勧め。
0094デフォルトの名無しさん2012/03/15(木) 23:34:57.79
どうやってCPAN使いこなせるようになるんだよ…。
0095デフォルトの名無しさん2012/03/16(金) 00:44:44.19
今までのインタフェースで実装できなくてだめだめなのをモダンPerlとか
言って取繕ってるだけでしょ
0096デフォルトの名無しさん2012/03/16(金) 01:02:24.92
perl6のコンセプトを先取りしてるものではないの?
0097デフォルトの名無しさん2012/03/16(金) 02:27:51.26
ttp://www.amazon.co.jp/dp/486267108X/
0098デフォルトの名無しさん2012/03/16(金) 08:17:31.69
>>95
なんでそういう悪意のある言い方するの?
0099デフォルトの名無しさん2012/03/16(金) 15:52:29.33
新しい手法・置き換えるモジュールがあれば、それを採用しましょうってのがモダンPerl。
Fatalプラグマよりautodieプラグマ。
switch,caseよりgiven,when。
evalとif($@)よりTry::Tiny。
という感じ。

置き換えられないモジュールを置き換えようとするのは多分違う。
0100デフォルトの名無しさん2012/03/16(金) 15:57:44.21
次スレがあったら、テンプレにこれも追加で
http://perl-users.jp/

で、>>3はこのスレ的には整理した方がいいだろうね
0101デフォルトの名無しさん2012/03/16(金) 15:59:56.20
www.amazon.co.jp/Modern-Perl-Chromatic/dp/0977920178/
どんな本なんだろう
0102デフォルトの名無しさん2012/03/16(金) 16:35:08.87
0103デフォルトの名無しさん2012/03/16(金) 17:04:15.50
>>102
無料でも読めるのか。トントン
0104デフォルトの名無しさん2012/03/16(金) 21:48:33.88
モダンPerlは無駄なもの
なぜなら業界歴20年の俺が理解できなかったからだ
そこから役に立たないものだと結論づけた
0105デフォルトの名無しさん2012/03/16(金) 23:16:39.05
新しいことについていけない老害の人って。。。
0106デフォルトの名無しさん2012/03/17(土) 00:38:01.50
プログラムはプログラマだけのものじゃなくて、依頼者や使用者のものでも
あって、依頼者視点での保守、使用者視点での保守をしていかないとならない。
その場限りのソフトウェアならモダンPerlでも構わないかもしれないが、
保守するのであれば、流行で作ったものは時間が経つと「変な髪形」になっ
てしまう。それが分かってないのは、おまいのしりが青い証拠だ。
0107デフォルトの名無しさん2012/03/17(土) 00:43:57.57
じゃあPerl使うなってことになるな。
0108デフォルトの名無しさん2012/03/17(土) 00:45:13.60
一番人を集められるのはJavaかPHPだよね。
0109デフォルトの名無しさん2012/03/17(土) 00:54:53.13
>>106
受託ってやつ?
ウェブサービス作ってるんじゃないの?

俺にとってプログラムは自社のもので、自分たちが
開発しやすいように最善の方法を目指してるんだけどさ、
客に足を引っ張られるのって、ちょっと可哀想に思う。
0110デフォルトの名無しさん2012/03/17(土) 02:45:39.65
>>106
そういう時はバージョンと使用するライブラリを指定すればいいんだよ。
0111デフォルトの名無しさん2012/03/17(土) 02:46:55.30
依頼者は何も指定しなかった場合、
古いPerllで作ろう。

それが依頼者のためになるんだ。
0112デフォルトの名無しさん2012/03/17(土) 03:00:54.49
当然4.036よりもさらに前だよな?
0113デフォルトの名無しさん2012/03/17(土) 03:04:12.17
>>106
客が要求するのがモダンではないと決めてかかってる。
客がモダンを要求したらどうするつもりだ?
単にお前は、モダンPerlが書けないだけ。
0114デフォルトの名無しさん2012/03/17(土) 16:11:00.12
>>112
はい
0115デフォルトの名無しさん2012/03/18(日) 01:23:00.96
逆になんでモダンにこだわるの?変なとこにこだわって成果がでないんじゃ
本末転倒じゃないの?成果とモダンとどっちが優先なの?
0116デフォルトの名無しさん2012/03/18(日) 01:53:27.60
>>113
単におまいはモダンっていいたいだけちゃうんか
この青尻め
0117デフォルトの名無しさん2012/03/18(日) 03:15:04.19
>>115
モダンを諦めれば、成果が出るとでも思ってるの?

むしろ、モダンを使う=成果が出る
なんだが。
0118デフォルトの名無しさん2012/03/18(日) 07:42:28.32
一旦モダンって名前を頭から消して普通にPerlコードを書かせてみるとする
そいつのコードがKENTみたいなやつだとして、それが他の人が誰でも保守できるようなシロモノになるとは到底思えない
0119デフォルトの名無しさん2012/03/18(日) 16:06:49.73
>>117
そんなこと言ってないだろ、どこを読んでんだ?青尻くん
0120デフォルトの名無しさん2012/03/18(日) 16:17:39.87
とうとうホモスレになったのか
0121デフォルトの名無しさん2012/03/18(日) 22:44:09.24
青尻くんとこは結構自由みたいだけど、個人事業主なの?
0122デフォルトの名無しさん2012/03/20(火) 19:21:50.84
これまでの積み重ねがないと例えば会社が終わりになったときに技術的にも
全てを失うことになるよ。
0123デフォルトの名無しさん2012/03/20(火) 19:29:12.55
モダンなんかやってて技術の積み重ねになるわけがない。
0124デフォルトの名無しさん2012/03/20(火) 20:23:18.91
わざわざ不便なものを選んで苦しむのが積み重ねか
古いんだよそんなスポ根的発想は!
0125デフォルトの名無しさん2012/03/20(火) 22:46:00.37
青尻くんは、プログラムは実現したいこととその解決方法の両方を記述する
ためのものだってこと、ちゃんと理解してるの?そうか、してないのかまだ
青いのか。
0126デフォルトの名無しさん2012/03/20(火) 23:19:46.15
普通にわかれよ。
モダンperlがいいものだとしたら普通に普及する。
駄目なもので無理やり普及させたいのには訳がある。

本や講演などで稼ぎたい人もいるってこった。
0127デフォルトの名無しさん2012/03/21(水) 01:55:19.27
それには付き合えないけどね。
0128デフォルトの名無しさん2012/03/21(水) 08:37:14.83
> モダンperlがいいものだとしたら普通に普及する。

実際に普及してるよな。
0129デフォルトの名無しさん2012/03/21(水) 09:55:42.06
半径5m以内の、CPANモジュールも使えない環境を見て言ってるんだろうな。
0130デフォルトの名無しさん2012/03/21(水) 22:40:10.92
そうだな。青尻くんが青筋立ててキーキーいう必要はないはずだよな?
0131デフォルトの名無しさん2012/03/23(金) 11:52:12.45
ステマってやつだな
0132デフォルトの名無しさん2012/03/24(土) 12:30:46.46
かわいいの♪ステマつげるぅ〜♪
いーないーな♪それいいなぁー♪
つげるタイプの魔法だょ〜♪
0133デフォルトの名無しさん2012/03/25(日) 07:17:46.89
ステルスマーケティング用語か。個々の技術とまったく関係ない話だな。
要は互換性のなさをごまかそうとしているんだな。ばればれだぞw
0134デフォルトの名無しさん2012/03/25(日) 16:36:42.85
>>118
で、きみの書いた誰でも保守できるようなコードはどこにあるの?
0135デフォルトの名無しさん2012/03/27(火) 21:08:40.38
長期に渡る保守が予想されるソフトウェアは一時期の流行に合わせて
書くのではなく、将来を見据えた記述をするのが正解。
0136デフォルトの名無しさん2012/03/27(火) 21:29:13.75
意固地に10年前の書き方を押し付ける必要はない
今使える書き方と今使えるモジュールで書けばいい
0137デフォルトの名無しさん2012/03/28(水) 05:29:06.98
今使えない書き方で書けと読めてるお前がおかしい
ワンライナーや売り切り逃げ切りのソフトならお好きにどうぞ
0138デフォルトの名無しさん2012/03/28(水) 06:14:36.83
モダンは互換性がないのと将来のメンテナンスが不安なのが弱点か。
モダンゆえに時間軸の過去も未来もだめってことか。それは困る。
0139デフォルトの名無しさん2012/03/28(水) 06:17:08.97
お花を大切に
0140デフォルトの名無しさん2012/03/28(水) 06:46:19.55
>>138
>互換性がない
何と?
>将来のメンテナンスが不安
将来のメンテナンスを考えると何を使えばいいの?
0141デフォルトの名無しさん2012/03/28(水) 21:48:50.07
素のPerlや標準モジュールが思いつかないあたり、いい、すごくいいよ、
青尻くん。だんだん気に入ってきた。
0142デフォルトの名無しさん2012/03/28(水) 22:59:03.49
たとえば標準モジュールの例としては、
http://perldoc.perl.org/index-modules-A.html

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

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

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

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

>>141が言っていることはこういう意味です。
0143デフォルトの名無しさん2012/03/28(水) 23:57:43.96
がんばって標準モジュールを列記してみたものの、やっぱり素のPerlは
思いつかないところ、青尻くん、すばらしい。すごくいい。

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

職場で一度言ってみたい。。。試用期間で終わるだろうけどw
>>143
localtimeは、Time::Pieceで使うよw

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

はい、このように、モダンPerlを嫌ってる人=無知なだけ
ってことなのです。
> 素のPerlや標準モジュールが思いつかないあたり

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

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

もしかして、自分の知らない標準モジュールばっかりで
方向転換したのかいな?
0147デフォルトの名無しさん2012/03/30(金) 00:32:49.44
ぷぷぷ。
0148デフォルトの名無しさん2012/03/30(金) 01:00:11.52
モダンPerlとそうでないPerlとの違い、メリットについてもっと教えておくれ
標準モジュールを使いこなすのがモダン。
そうでないものは単に勉強不足なだけ。
0150デフォルトの名無しさん2012/03/30(金) 21:55:40.66
なんだ、そうだったのか。てっきりlocaltimeも満足に使えないのかと
思ってたよ。失敬、失敬、こりゃ失敬。
念のため言っとくがlocaltimeから
リストコンテキストで取得するのは古いやり方だからな。

最近のやり方はlocaltimeからTime::Pieceオブジェクトを返す方法。
もちろん標準モジュール。
0152デフォルトの名無しさん2012/03/31(土) 01:09:11.56
で、Time::Pieceのインタフェースってlocaltimeと互換性あるの?
例えばリストコンテキストで使うと同じように値が戻ってくるの?
>>152
% perl -MTime::Piece -E'say (localtime);say scalar localtime;say localtime->datetime'
0154デフォルトの名無しさん2012/03/31(土) 01:19:35.68
しばらくメリットを考えてみる。
0155デフォルトの名無しさん2012/03/31(土) 02:46:36.36
職場にようやく5.8が入ったんでよーし、これからはモダンPerlだぞ!と
意気込んできたらTime::Pieceは5.10以上と知ってがっかり。
らくだ本に載ってるTime::localtimeを使って愛想笑いでごまかすしかない。
その職場に5.10が入るのは10年後であった。
そしてcpanmやperlbrewを入れることは全面禁止されていた。
そんなんで仕事できるの?w
少なくとも効率が悪いね。
古い所が新しい所に
あっさり追い抜かれる原因の一つである。
0159デフォルトの名無しさん2012/03/31(土) 12:09:29.38
やっぱりモダンっていうのは供給者側の視点であって、利用者側の視点が
抜け落ちているな。残念。
利用者?
俺は利用者なんだが。

勉強しない奴に合わせる理由なんてないよ。
0161デフォルトの名無しさん2012/03/31(土) 15:55:14.37
おれに合わせる必要はない。逆におれはおれでperl4が使われているところも
あるから、がんばってlocaltimeで書くと。需要ベースで考えるしかない。
残念。
0162デフォルトの名無しさん2012/03/31(土) 17:19:27.03
まあゆっくりやっていこう。モダンPerlにタイムリミットがあるわけでなし。
古いPerlにはタイムリミットあるけどな。

Perl4のサポート期間は10年ぐらい前に終わっていそうだけどw
perl4の需要はすでに99.9%無い
かろうじて残っているような需要に対応する必要はない。
0165デフォルトの名無しさん2012/03/31(土) 20:22:18.67
お前に期待してないから大丈夫だ。
>>161
Perl4に拘るのはせいぜいあなた個人あるいはお客様だけでありますように
あなたの後をうける人、あなたの下につく人が不幸にならないことを祈りたいですなぁ
0167デフォルトの名無しさん2012/03/31(土) 22:03:37.68
そうだね。
windowsXp:ActivePerl環境で、perlをタスクスケジューラからバックグラウンドで実行させたい。
wperl.exeで実行すればよいとgoogle先生が教えてくれたんだけど、
↓でやっても実行時にウィンドウが一瞬だけ開いてしまう。
C:\Perl\bin\wperl.exe sample.pl

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

うーん、なぜだ
誰か教えてください
0169デフォルトの名無しさん2012/04/01(日) 19:58:44.51
タスクスケジューラに設定したのはwperl.exeではなくバッチファイルと予想。
0170デフォルトの名無しさん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
01711682012/04/03(火) 00:54:00.46
デバッガあててみたら↓が原因だった
our $mech = new WWW::Mechanize(autocheck => 1);

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

>>170
なんかすごそう
暇なときにやってみる
0172営利利用に関するLR審議中@詳細は自治スレへ2012/04/07(土) 01:50:55.99
ハッシュに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...

回避方法あるでしょうか?
01731722012/04/07(土) 02:55:30.64
投稿の際に行数を節約しようと修正した部分で動かないところがありました

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

my $name = $1;
*$AUTOLOAD = sub : lvalue { my ($self) = @_; $self->{$name}; };
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 {}

ここまで来ると普通のハッシュでよくね?
あと、ネタすれなんで、本スレで質問しる。
0175営利利用に関するLR審議中@詳細は自治スレへ2012/04/07(土) 19:05:08.57
在日韓国・朝鮮人や,
働かないで金をせびるクズ人間を取り締まってくれや。
追うも国士館,追われるも国士館頼むぞ。

http://www2.ocn.ne.jp/~hirohito/photo/s6116.jpg
http://www.masuko.co.jp/school/img/otona/4men_2.jpg
http://keiten.net/image/070804kokushi/kekki.htm

規律ある大学生活
http://daiminsya.exblog.jp/2750544/

国士舘OBの回想
http://www.youtube.com/watch?v=LBtSNMhree4&feature=related

国士舘アルバム
http://www.youtube.com/watch?v=5vZmce3qPGg&feature=related

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

>>普通のハッシュでよくね?
たしかにw
一応オブジェクトであってはほしいのですが、ハッシュ記法であれば何の不都合もなく
$obj->{name} = 'bar';
と書けるわけですしね。
オマケでメソッド呼び出しも、と考えてたらハマってしまった格好です
Apple 社の Mac OS X は、 ベースの一部 が FreeBSD です。Apple 社独自の
ユーザインタフェースとともに、豊富なUNIX(R)基盤が取り入れられています。
OpenStepじゃなかったっけ?
0179デフォルトの名無しさん2012/04/14(土) 14:38:18.13
>>171
事前にSTDOUT、STDERRをつぶして
おいたらどーなる?

ウインドウアプリで、そこに吐くと、
自動的に新規コンソールが開く、
とかだったような。
0180デフォルトの名無しさん2012/04/17(火) 22:06:08.88
>>179
タスクのウィンドウが表示されなくなってうれしいものの、その他の
ウィンドウも一切表示されなくなりました ;_;
(D-SUB抜いて試しました)
0181デフォルトの名無しさん2012/04/18(水) 03:18:24.23
一方、日本は...




瞳をとじた
0182デフォルトの名無しさん2012/04/29(日) 00:38:07.87



そしてこのスレッドもクローズした
0183デフォルトの名無しさん2012/04/29(日) 06:35:31.99
再開
0184デフォルトの名無しさん2012/04/29(日) 06:52:54.09

  ∧∧
  ( ゚Д゚ )∩
 ⊂   ノ
  /  0
  し´
えっ…と、
ここかな…、と
 ∧∧ ∧∧
∩゚Д゚≡゚Д゚ )
`ヽ     |)
  | __ |〜
  ∪  ∪
      ドスッ
  ∧∧.ミ. _
  (   )┌┴┴┐
  /   つ.再開│
〜   ./ └┬┬┘
 ∪∪    ││_ε3
     ゛゛゛゛
0185デフォルトの名無しさん2012/04/29(日) 14:21:23.37
最近のPerlでOOP用ライブラリってどんなのが主流ですか?
0186デフォルトの名無しさん2012/04/29(日) 14:23:06.27
Mooseだろ?

最近のライブラリでそれ以外使ってるの有るのか?
0187デフォルトの名無しさん2012/04/29(日) 14:25:50.06
ありがとうございますMoose調べてきます
0188デフォルトの名無しさん2012/04/29(日) 18:38:18.38
Mooseが重いと思ったらMouseとAny::Mooseの組合せで代用もよし
0189デフォルトの名無しさん2012/04/29(日) 20:25:09.14
最初から Mouse 使ったほうが
0190デフォルトの名無しさん2012/05/15(火) 18:28:38.45
cpan でモジュールインストールしんたいんだけど
install やら make やら make install やら全部 OK
でたのに
perldoc -l インストールしたモジュール名
やるとそんなのないて怒られる。
なんで?
0191デフォルトの名無しさん2012/05/15(火) 22:29:19.68
>>190
普通 perldoc -l DBI などは成功すると思うよ。
どうやって入れたの? モジュール名は?
0192デフォルトの名無しさん2012/05/16(水) 07:35:09.36
>>191
cpan>install Math::Vector::Real
でいれて
全部 make やら make install やら全部 OK と出たが
ないようだった。

cpanplus でインストールしてみたらいけたのだが原因がわからない。
0193デフォルトの名無しさん2012/05/16(水) 19:04:48.32
Regexp::Assembleでマッチした時って
後方参照使えるの?
0194デフォルトの名無しさん2012/06/20(水) 00:40:13.88
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") と、マッチするものすべてを得たい場合、
どうすればよいでしょうか。

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

$str='ABCD';
{
my $tmp=$str;
while($tmp=~/AB|BC/){
push @a,$&;
$tmp = $&.$';
$tmp=~s/^.//;
}
}
print join' ',@a;
01961942012/06/20(水) 02:51:53.45
>>194
場当たり的に色々試していたら
@a = $str =~ /(?=(AB|BC))/g;
で、(AB,BC) が取得できました。
(?= で、次の走査開始点を移動させないようにしたから、でしょうか?
0197デフォルトの名無しさん2012/07/15(日) 14:22:38.65
一過性のモダンPerlはもう終わり。
らくだ本の発行によって本来のPerlへの回帰が始まっている。
0198デフォルトの名無しさん2012/07/15(日) 14:36:07.64
本来のPerl=5.0でも動く範囲でしかコード書かない
0199デフォルトの名無しさん2012/07/15(日) 16:03:33.45
そういえばPerl5のスレってないね?やっぱりまだPerlの方が使われてるのかな?
0200デフォルトの名無しさん2012/07/20(金) 00:44:57.65
モダンPerl書いたひとはどうしてるの?最近見ないけど、やっぱりだめなの?
0201デフォルトの名無しさん2012/07/20(金) 06:04:14.97
まあソースをみて改良したりとか前向きな動機はほぼゼロで99.99%はこのメーカー
困らせてやれって開示請求なんだろうな。
0202デフォルトの名無しさん2012/07/20(金) 23:17:21.71
モダンな奴はそもそもPerl使わないからな
0203デフォルトの名無しさん2012/07/25(水) 02:06:14.30
USP(Universal Shell Programming)研究所は、UNIX/Linuxの基本思想である、
「小さな道具」(コマンド)を組み合わせて「問題を解決する」(シェルス
クリプト)手法の研究・普及を行っています。この開発手法(ユニケージ
開発手法)は、従来のウォーターフォール型開発や、オブジェクト指向言
語・データベースソフトを用いた開発手法と一線を画し、圧倒的な開発生産
性 圧倒的な柔軟性を特徴としています。

ttp://www.usp-lab.com/
0204デフォルトの名無しさん2012/07/30(月) 19:45:03.06
本スレも、荒しに常駐されてぐだぐだだし、
WebProgの方も同じみたいに、スレ違いの会話が
ぐだぐだ続いて終了したし、終りかなあ。

ここのスレの方がまだ真面にperlの話をしてた気がするよ。
0205デフォルトの名無しさん2012/07/30(月) 20:56:12.50
まあモダンには2つあって、ひとつはすぐに古くなるモダン。
もうひとつはいつまでも古くならないモダン。
おれは断然古くならないモダンのほうがいいな。
0206デフォルトの名無しさん2012/07/30(月) 23:46:15.85
XSを使うと1年後に古くなるほうのモダンですか?
0207デフォルトの名無しさん2012/07/30(月) 23:47:25.65
軟便スキー独りか知らんが、
韓国ネタのコピペしたり
hoge煽りしたり
ググれ煽りしたり

馬鹿じゃねーの?
0208デフォルトの名無しさん2012/07/31(火) 00:19:41.40
そしてゆっくりモダンになっていく...
それが理想です
0209デフォルトの名無しさん2012/07/31(火) 00:27:00.96
進歩というものは過去を捨てることではない。
過去に加えて積み上げるものなのだ。
0210デフォルトの名無しさん2012/07/31(火) 01:28:15.89
荒しが950踏んで嬉々としてhoge禁止をテンプレに入れる姿が目に見える様だ
0211デフォルトの名無しさん2012/08/04(土) 17:51:38.53
過去のソフトウェアと作法やインタフェースが異なる言い訳としてモダンと
いう用語を使うのはまずい。今までより苦労が増えるなら移行は進むはず
がない。
0212デフォルトの名無しさん2012/08/05(日) 20:55:07.11
ところでこのスレが53箱目の続きってことでいいの?
0213デフォルトの名無しさん2012/08/05(日) 20:56:46.40
すまん、53箱目の続きあった。“54目”になってたんで検索に引っかからなかったわ。
0214デフォルトの名無しさん2012/08/06(月) 18:23:11.89
以下のように時刻と曜日が書かれたlogファイルがあります。

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

(以下略

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

詳しい人教えてください。
0215デフォルトの名無しさん2012/08/06(月) 18:26:08.19
>>214
訂正
1時間前のログのみ抽出じゃ無くて一時間分のログを抽出です。

0216デフォルトの名無しさん2012/08/06(月) 18:57:53.32
>>214
> この処理って一行(ワンライナー)で書けますか?
書けます。
0217デフォルトの名無しさん2012/08/07(火) 18:06:48.10
>>216
やり方教えてください!
一時間前の日付時刻と現在の日付時刻を比較して条件を満たせば該当行を出力みたいなことをやれば良いとおもうんですが、どう書けば良いのかわかりません
0218デフォルトの名無しさん2012/08/07(火) 18:12:29.44
横レス(別人)
$ 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 あたりでググる。
0219デフォルトの名無しさん2012/08/07(火) 18:20:05.07
>>218
あんた2012年の住人じゃないだろw
0220デフォルトの名無しさん2012/08/07(火) 18:30:46.11
>>218
レスありがとうございます。
参考にさせてもらいます。
でも2013年以降も使えるのが理想ですが…
0221デフォルトの名無しさん2012/08/07(火) 18:34:05.93
年跨ぎのケースを考え無くて良いなら、コードの2012を2013にすりゃいいだけ。
0222デフォルトの名無しさん2012/08/08(水) 18:20:12.98
というより、「年」は全部今年として扱えばいい。
年が明けてから1時間はまともにログを拾えなくなるけど。
そもそもログデータに「年」の情報が入っていないんだから、
厳密に処理するのは無理だべ。
0223デフォルトの名無しさん2012/08/08(水) 18:36:12.52
>>218に対して言ってるのなら、
最初からそれを念頭に書いてないか?
コードは既にそうなってるし、
説明文の方は質問者に向けたもんだし、
改造しやすいように除算は態々、2012 -1900 にして残してあるし。

それともtime関数に、年を除外するオプションでもあんの?
0224デフォルトの名無しさん2012/08/08(水) 19:02:57.22
>>223
年が変わるごとに 2012 を 2013 だの 2014 だのに書き換えるの面倒だろうから
「年」のところはログの日付も現在の時間も全部localtimeの「今年」という前提で
扱えば毎年コード書き直さなくてもよくなるだろっていってるんだよボケ。
0225デフォルトの名無しさん2012/08/08(水) 19:09:28.99
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、了解した。
0226デフォルトの名無しさん2012/08/08(水) 19:17:05.60
で、試しに自分でも書いてみた。
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使えばあとからでもわかるしね。
0227デフォルトの名無しさん2012/08/08(水) 19:19:19.26
>>225
了解してくれてどうも。
俺の日本語がわかりにくかったのか…
0228デフォルトの名無しさん2012/08/08(水) 19:28:58.56
>>226
> 218の方がすっきりしてるか。なぜかうちの環境だとエラー吐いて動かなかったけど…。
> (Day 'Jun' out of range 1..31 at -e line 1 て言われた)

なぜエラーが出たかわかった。自分でテスト用に切り出して作ったログファイルの
各行頭にスペースが入っていたからだった。(ありがち)
0229デフォルトの名無しさん2012/08/08(水) 21:24:39.24
>>227
違う。料理の合間に、斜め読みでレスした俺が悪い。
0230デフォルトの名無しさん2012/08/09(木) 03:59:05.87
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オブジェクトの除算が変だ。なんで?
0231デフォルトの名無しさん2012/08/09(木) 05:09:37.92
>>230
あう〜。ホントだ。ウチでも同じだ。
Time::Piece->strptime()でTime::Pieceオブジェクトを作るとgmtimeベースになるっぽい。
ttp://digit.que.ne.jp/work/index.cgi?Perl%E3%83%A1%E3%83%A2%2FTime%3A%3APiece%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB
だから引き算の結果が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ベースになっちゃうけど引き算の結果は正しくなる。
という訳で、けっこういろいろとメンドくさいもんですね。
0232デフォルトの名無しさん2012/08/09(木) 08:02:26.85
同じぐらいの長さのワンライナーなのに
>>218がダサくて>>226がスタイリッシュに見えるのはなぜだろう
0233デフォルトの名無しさん2012/08/09(木) 08:03:44.22
レスくれた人ありがとうございます>>214です。
まだperlは入門書読み終わった程度なので右も左も分かりませんが、教えて頂いたコードを参考に色々書き方を研究したいと思います。
0234デフォルトの名無しさん2012/08/12(日) 12:31:10.61
入門書読み終えたばかりの初心者には組込みのlocaltime関数を教えてあげないよ
0235デフォルトの名無しさん2012/08/13(月) 16:57:18.75
>>234
なにが言いたいのかわからん
0236デフォルトの名無しさん2012/08/14(火) 00:43:26.35
ほら、俺ってサ
意外にすいすいしいヤツ
だからサ
0237デフォルトの名無しさん2012/08/14(火) 23:54:42.42
初心者には localtime の方が便利な件
0238デフォルトの名無しさん2012/08/15(水) 05:40:02.45
>>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'
0239266 (未来より参上)2012/08/15(水) 16:15:51.26
>>238
おおうスタイリッシュ。
state とか使ったことなかったけど便利そうだな。参考にさせていただきます。
ワンライナーはあんまし書かないのもあってオプションも -i -n -p -e くらいしか
普段使ってなかったりしますんで。-E すら滅多に使わないな…。nもpもなしに
while(<>)埋め込むのもループの前後で処理が必要な時とかは普通にやってるし。
その程度のスキルでもとりあえず動くものは書けるってのがPerlのメリットでもあり
欠点でもあると…まあこの場合メリットということで。TMTOWTDI。(覚えづらいよなこれ)
0240デフォルトの名無しさん2012/08/16(木) 22:01:16.60
なんで隔離スレで真面目に質問箱してんのよ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くっつけるだけ。


それにしても、バルサン炊いたみたいに、人がいなくなったな本スレと初心者スレ。
実際の所は、ハイエナが肉に夢中になってるだけだろうけど。
0241デフォルトの名無しさん2012/08/19(日) 22:14:32.47
初めてのPerl第6版とPerl5.16.1のことだね。
Unicodeサポートの問題に今頃気づいたって読める。
第5版のときはまだ気づいていなかったのかな?
まあ、そんときは使ってなかったんだろうけどな。
0242デフォルトの名無しさん2012/08/20(月) 05:51:33.20
今上天皇侮辱発言の祭りが落ち着いたから、戻って来たぞゴキブリ。
でも、まあ、5割くらい減ったんじゃねーかな?
0243デフォルトの名無しさん2012/08/20(月) 22:17:22.42
バルサン耐性を備えて5割以上パワーあっぷぷぷw
0244デフォルトの名無しさん2012/08/26(日) 15:07:51.22
ゆっくりモダンになっていく・・・




・・・モダンRuby。
0245デフォルトの名無しさん2012/08/29(水) 00:35:50.14
モダンPERL追いかけてたら時代に取り残されましたとほほ
0246デフォルトの名無しさん2012/08/30(木) 21:05:34.35
>>245
その最後の「とほほ」だけで、もう10年以上は時代に取り残されてるよな
0247デフォルトの名無しさん2012/08/30(木) 21:12:12.26
とほほだってよw
もうお前5.6こそ最高とかいって周りに強要してろよ
0248デフォルトの名無しさん2012/08/31(金) 00:07:22.19
5.6だと日本語がちゃんと使えません。仕事で使うなら5.005一択です。
0249デフォルトの名無しさん2012/09/01(土) 09:59:22.19
どうやらモダンパールは時代遅れみたいですね
本家のパールはすでにその先に進んでます
テキスト処理90%のPerlが文字列を楽に扱えないなんてたちの悪い冗談でしか
ありません
0250デフォルトの名無しさん2012/09/02(日) 02:19:31.92
C++へのアンチテーゼの側面もあったPerlなのにモダンPerlはどうしちゃったのかな
0251デフォルトの名無しさん2012/09/03(月) 01:19:39.59
テクノロジーはスクラップアンドビルドなものと考える連中はとほほの内容が
古いと考えるようだ
0252デフォルトの名無しさん2012/09/08(土) 14:37:07.80
かってに「モダン」とか名乗るなや
0253デフォルトの名無しさん2012/09/09(日) 00:59:31.20
モダンでもないのにモダン名乗られてもなあ
0254デフォルトの名無しさん2012/09/09(日) 08:13:34.65
リャマ本第6版までモダンに毒されてるよ
おまいらリャマ本は第1版こそ至高・正義だ
定価より高くても中古で第1版を買え!
0255デフォルトの名無しさん2012/09/09(日) 17:51:10.11
第1版ってのはバージョン4のピンク本のことか?あれは本当にいい本
0256デフォルトの名無しさん2012/09/09(日) 18:42:20.14
ダヨモンPerl
アリャマ本
0257デフォルトの名無しさん2012/09/10(月) 00:59:47.94
赤らくだ本だとか赤リャマ本の序文、それにポケットリファレンスの序文でLarryはふざけ過ぎてしばらくの間O'reillyから干されていた。今回「まじめに書く」と誓ったためようやく第4版の執筆許可が下りたらしい。
0258デフォルトの名無しさん2012/09/12(水) 00:04:41.71
結局らくだ本的にはモダンPerl(=perl5.8)はスルーってことか
最近は重いモジュールも避けられる傾向にあるしな
0259デフォルトの名無しさん2012/09/12(水) 00:11:25.67
重いモジュールも避けられる傾向にあるしな(キリッ
とか言う奴は十中八九List::Utilとかを使わない
0260デフォルトの名無しさん2012/09/12(水) 00:30:32.64
実際に書かせてみればろくなコード書かないんだろうな
0261デフォルトの名無しさん2012/09/12(水) 00:31:53.70
モダンperlと言われているもののうち一部の重たいモジュールを持ち出して
重たいモジュールは避ける傾向にあるからモダンperlも避ける傾向だよねー
なんてどんな詭弁だよ
0262デフォルトの名無しさん2012/09/12(水) 00:33:07.74
確かにLarryはモダンPerlについて多くを語ろうとしないな
きっと軽いスクリプトが好きなんだろうなList::Utilとか使わない
0263デフォルトの名無しさん2012/09/12(水) 00:55:43.31
List::UtilはXSで書かれてるから自分でPerlで書くよりよっぽど高速なわけだが
てかとってつけたようにLarry様の名前出すなよw
0264デフォルトの名無しさん2012/09/12(水) 01:36:14.68
GUIやバイナリファイル扱うときにXSを使って効率を上げるのは分かるが
そうでないときにXS使ってスクリプトの利便性を下げるのは簡便だな。
0265デフォルトの名無しさん2012/09/12(水) 01:47:29.25
勘弁
0266デフォルトの名無しさん2012/09/12(水) 02:38:31.59
>>264
なぜ利便性が下がる?
0267デフォルトの名無しさん2012/09/13(木) 23:01:41.84
第1ヒント:テキスト萌えたんのポータビリティ強化月間
0268デフォルトの名無しさん2012/09/13(木) 23:29:47.30
「スクリプトが何かよく分かっていない」と書いたはらたいらに3,000点。
0269デフォルトの名無しさん2012/09/14(金) 23:30:28.34
バイナリではないところがスクリプトの利便性って分かるかな?無理かな?
0270デフォルトの名無しさん2012/09/15(土) 17:45:47.86
利便性の優先度
作る人の利便性 <<< 使う人の利便性
0271デフォルトの名無しさん2012/09/15(土) 18:43:43.53
中身が古いか新しいかは使う人の利便性に影響はしないけどね
0272デフォルトの名無しさん2012/09/15(土) 22:16:30.43
結局モダンかどうかは気持ちの問題だし、供給者側の主張次第でしょ
利用者側にとってはちゃんと使えればどうでもいいよそんなもん
0273デフォルトの名無しさん2012/09/19(水) 01:43:10.30
モダンパールは単なる自己満足であったか
そもそも書いたときはモダンでも後で読むときはモダンではないわな
モダンと言われると互換性がないんじゃないかと思って警戒するひとも
いるかもしれないしな
0274デフォルトの名無しさん2012/09/19(水) 02:38:41.68
use strict;
use Encode;
0275デフォルトの名無しさん2012/09/20(木) 09:27:07.77
Perl 6は、ポストモダンですか
0276デフォルトの名無しさん2012/09/20(木) 13:14:19.79
バイナリでの文字列置換をしています

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

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

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

ではうまく行きません
$srcの部分は思い通り検索できるのに、
$dstの部分はバイナリではなく \x00 という文字列に置換されます
どうすればいいですか
0277デフォルトの名無しさん2012/09/20(木) 13:16:41.93
$dst = "\x00";
0278デフォルトの名無しさん2012/09/20(木) 13:31:02.66
確かにそういうことなのですが、
何故$dstという変数を使うかというと、その中身が不定だからです
$dst に '00' とか '01' とかいろんな文字列が入った場合の置換の書き方はありませんか

とりあえず、pack("C", hex($dst)) と書いて eオプションで評価すれば
うまく行くのは確認したのですが、$srcみたいなスマートな書き方はできないものかと
0279デフォルトの名無しさん2012/09/20(木) 14:11:13.98
packするのが一番マシじゃないだろうか
ただ置換内ではなくその直前に追い出したいけど
0280デフォルトの名無しさん2012/09/20(木) 14:30:17.21
後半が文字列で表現されている時に、
それをテキストとして見ていいのかバイナリとして見ていいのか、
両方の解釈が有り得るのが問題なんだな

書いたままだよ、というルールで統一されていれば納得するものを、
コードに埋め込んだ時はバイナリだけど、変数が来たら文字列、という解釈をして、
しかも、置換の前半部分は変数でもバイナリとする変態文法
逆に前半を文字列として認識させたい時はどうするんだろう
0281デフォルトの名無しさん2012/09/20(木) 22:51:50.63
すみません、何がなんだか分からないのでゆっくりと、そして複数の質問で
あるのなら分割して1つずつ質問してもらっていいですか?
中卒なんで
0282デフォルトの名無しさん2012/09/20(木) 22:56:52.61
eval "" と eval {} と /e で解決しそうに読めるんですけど
0283デフォルトの名無しさん2012/09/21(金) 00:33:30.46
よくある
$str =~ s/%([a-zA-z0-9]{2})/pack("C", hex($1))/eg;

こんな置換を、packやらhexやら使わずに書いてみそ
という問題
0284デフォルトの名無しさん2012/09/21(金) 00:35:30.66
>>276
> バイナリでの文字列置換をしています
{
  no utf8;
  $str =~ s/\xFF/\x00/g;
}
0285デフォルトの名無しさん2012/09/21(金) 00:43:45.02
eval qq{ \$str =~ s/\\Q$src\\E/$dst/g };
0286デフォルトの名無しさん2012/09/21(金) 11:42:35.55
どうやってもスマートじゃないな
前半も後半も素直にpackしておくのが一番分かり易い
なまじ前半に書けてしまうのがおかしい
0287デフォルトの名無しさん2012/09/22(土) 06:20:20.87
文字列とバイナリを区別する時点から問題が発生していると思うので、
区別しなければ解決するのだと思う
0288デフォルトの名無しさん2012/09/22(土) 12:20:01.08
楽になるために区別するのならよいわけだけど、
区別したがゆえに苦労するのであれば、区別しなければ苦労はない。

過去にとらわれるのはもうやめです。進歩しませんよ。
0289デフォルトの名無しさん2012/09/22(土) 15:03:36.74
どっちに解釈するか文脈で判断、ということをperlはあちこちでやっていて、
それは多くの場合正しいので表面化しないけど、
こんな風に不合理を露呈する場合もある
0290デフォルトの名無しさん2012/09/22(土) 20:40:59.67
プログラムはテキスト、処理するデータはバイナリ
 対
プログラムはバイナリ、処理するデータはテキスト

深い質問だな、これは
0291デフォルトの名無しさん2012/09/22(土) 22:17:29.81
Win7上で、Strawberry Perl と SQL Server2008 を使用して開発をしています。

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

質問
・DBIでSQL Serverのデータベースにconnectを作成し、あるキーとなる情報を取得するSQLを
 prepare、execute、fetchrow_arrayを使用して取得し、取得したキーをもとに別なSQLを作成し、
 実行しようとしましたが、「接続がビジーです」といった内容のエラーが返ってきます。
 fetchrow_arrayでデータを参照しつつ、同一のデータベースから同じようにデータを取得する
 ことはできないのでしょうか?
 
何か情報がありましたら、教えてください。
よろしくお願いいたします。
0292デフォルトの名無しさん2012/09/22(土) 23:59:54.07
2つのSQL文をひとつにまとめるのが正攻法に思えるが「参照しつつ」をやめて「参照し終わってから」にすればいいんじゃないかと言ってみた。
0293デフォルトの名無しさん2012/09/23(日) 09:13:22.29
SQL文を相関副問い合わせを使って書き直す
0294デフォルトの名無しさん2012/09/23(日) 10:24:02.93
Strawberry Perlは「接続がビジーです」に関わっていない件
0295デフォルトの名無しさん2012/09/23(日) 11:27:29.98
プログラムはテキスト(簡便)、処理するデータはバイナリ(簡便)

プログラムはバイナリ(勘弁)、処理するデータはテキスト(勘弁)
0296デフォルトの名無しさん2012/09/23(日) 11:29:56.95
$str = 'aaa[bbb[c]ddd]eee';
$str =~ s/\[.+?\]//;

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

うまい書き方はありますか
0297デフォルトの名無しさん2012/09/23(日) 12:06:04.53
>>296
s/\[.{1}\]//;
オプションつけて最長マッチとかってあるのか?
0298デフォルトの名無しさん2012/09/23(日) 12:40:34.62
中身が固定だと判ってるなら\[c\]でいいんだけどね
0299デフォルトの名無しさん2012/09/23(日) 16:22:38.40
$str = 'aaa[bbb[c]ddd]eee';
$str =~ s/\[[^\[\]]+?\]//;
print "($str)\n";

# /g とは違うけど
$str = 'aaa[bbb[c]ddd]eee';
while($str =~ s/\[[^\[\]]+?\]//){}
print "($str)\n";
0300デフォルトの名無しさん2012/09/23(日) 20:34:01.47
スカラーで置換した数を返す、という仕様は
whileで使ってくれと言ってるようなもんだな
03012912012/09/24(月) 00:26:24.29
>>292-293
ありがごうございます。
ただすみません、自分の書き方も悪かったのですが・・・

取得した情報で、その後の処理を変更しています。
そのため、発行するSQLもselectだけでなく、insert,update,deleteなどもあり、
単純にSELECTを見直すというわけにもいかず。
0302デフォルトの名無しさん2012/09/24(月) 00:48:00.82
複数のアクティブな結果セット (MARS) の使用
http://msdn.microsoft.com/ja-jp/library/ms131686.aspx
03032912012/09/24(月) 22:40:47.72
>>302
ありがとうございます。
こんなものがあったんですね。知らなかったです。
0304デフォルトの名無しさん2012/09/26(水) 00:01:18.00
Perlのこと聞きたかったら、いつでもこのモダンPerlスレに来な
0305デフォルトの名無しさん2012/09/26(水) 01:15:59.84
モダン焼きは四角く切るのと放射状に切るのとどっちがいい?
0306デフォルトの名無しさん2012/09/26(水) 05:22:19.56
おちんちんお切ってしまえ
0307デフォルトの名無しさん2012/09/27(木) 01:25:13.55
たこ焼き器で作るとひと口サイズなので切らなくともよい。
0308デフォルトの名無しさん2012/09/27(木) 06:03:41.53
私女だけどひと口サイズのおちんちんは勘弁
0309デフォルトの名無しさん2012/09/30(日) 12:10:27.15
切り方変えても味は変わらないのでそのままかぶりつく
0310デフォルトの名無しさん2012/09/30(日) 23:22:27.63
結局一過性のモダンポールか、青臭いな
0311デフォルトの名無しさん2012/10/06(土) 16:46:58.45
少数のエリートが良かれと思っても多数派の一般民が取り入れないと意味がない
ひとがプログラミングする訳だから、フィーリングを大事にしないとだめだな
0312デフォルトの名無しさん2012/10/14(日) 16:56:04.97
開発効率のことだけで言うと
モダンPerlの方が効率がいいね。
0313デフォルトの名無しさん2012/10/14(日) 23:37:41.19
俺が好きなのはポストモダンPerlだな
0314デフォルトの名無しさん2012/10/15(月) 03:13:27.49
ああ、アレね、アレのことね
0315デフォルトの名無しさん2012/10/15(月) 12:16:14.31
Time::Pieceの実験用モルモットになるよりlocaltimeをツールとして安心して使うタイプか
0316デフォルトの名無しさん2012/10/15(月) 15:57:01.88
モジュールに一切頼らないスタイルこそが正義
0317ハートマン軍曹2012/10/15(月) 18:43:05.44
お前の顔はモダンアートの醜さだ!
0318デフォルトの名無しさん2012/10/16(火) 00:31:08.75
もうPerlは5.16の時代ですよ。
5.12とそれより前はサポート終了しました。

10年前のPerlのことなんか、
考える必要ないんですよ。
0319デフォルトの名無しさん2012/10/16(火) 00:42:38.62
5.6とか使いたい奴は自分らで勝手に使ってたらいい
ただし5.6を他人に強要したり、5.6向けに書いた古臭いスクリプトを他人に押し付けて保守させたりするな
0320デフォルトの名無しさん2012/10/16(火) 01:21:14.64
>>319
いやなことあったの?
0321デフォルトの名無しさん2012/10/16(火) 01:23:22.72
>>320
主にこのスレでねw
0322デフォルトの名無しさん2012/10/16(火) 01:37:39.47
とにかくコードが手元の環境で動くのが正義
そして長期間に渡るメンテが可能で楽なのが正義
localtimeは標準モジュールより格上の標準関数

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

319による保守は誰も期待していない
0323デフォルトの名無しさん2012/10/16(火) 01:59:23.74
>>321
無理して見なくていいぞ
0324デフォルトの名無しさん2012/10/16(火) 02:00:05.08
ポータブルPerlって
Perlのバージョンはなんだ?
言ってみろよwおらおらw
0325デフォルトの名無しさん2012/10/16(火) 02:04:53.00
>>322
> とにかくコードが手元の環境で動くのが正義

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

矛盾してる
0326デフォルトの名無しさん2012/10/16(火) 02:06:12.86
>>322
> ポータブルPerlこそがこの世の正義

つまり手元の環境で動きさえすればいいってもんじゃないってか?
0327デフォルトの名無しさん2012/10/16(火) 02:06:57.24
>>322
> localtimeは標準モジュールより格上の標準関数

格上わろす
0328デフォルトの名無しさん2012/10/16(火) 02:21:46.91
手元にたくさんあるんだろ、モルモット君。
0329デフォルトの名無しさん2012/10/16(火) 11:09:16.58
localtime()は、Cにもあるよ
0330デフォルトの名無しさん2012/10/17(水) 18:24:12.99
うるさいゴミ
0331デフォルトの名無しさん2012/10/20(土) 13:36:25.82
リストコンテキストとスカラーコンテキストの違いとか printf とかはモダン
うんぬんの前に知らないとだめだろ。

モダンなゆとり世代。壮大な実験に付き合わされたモルモット。かわいそす
0332デフォルトの名無しさん2012/10/20(土) 14:30:09.12
刹那的なモダンPerlでは自分が書いたスクリプトを数十年に渡って保守する
ことは不可能と悟り本来のPerlに戻ってくる。で、localtimeで書く。
0333デフォルトの名無しさん2012/10/20(土) 14:43:54.03
>>332
perl本体に組み込まれた関数が何十年後も互換を維持してるとは思えないがな
0334デフォルトの名無しさん2012/10/20(土) 15:22:59.17
寿命が6〜8年のモルモットの推測が当たるとは思えないがな
0335デフォルトの名無しさん2012/10/20(土) 15:54:12.00
数十年後も使い続ける物はCで書いとけよ。
Perl5自体、メンテされてるかどうか分からんぞ。
0336デフォルトの名無しさん2012/10/20(土) 17:23:24.31
mooseとか使いまくってる俺が通りますよ

早くPerl6出ないな〜
0337デフォルトの名無しさん2012/10/20(土) 20:08:44.97
Cで書いたら実行環境の違いを記述するコードでアプリケーションが
埋め尽くされるんだろーなー
0338デフォルトの名無しさん2012/10/20(土) 20:25:13.96
>337
Linuxのソース見たけど、
一部の層で吸収しているから
ほとんどのコードは実行環境の違いなんて関係ないよ。

ま、お前にはそんな芸当出来ないだろうがな。がはははははwwww
0339デフォルトの名無しさん2012/10/20(土) 20:32:14.18
ゆとりだからLinuxしか習わなかったんだよね?かわいそす
0340デフォルトの名無しさん2012/10/20(土) 20:34:13.97
「Linuxしか習わなかった」と判断した理由を書いてください。

ゆとりの脳内はよくわかりませんのでw
あ、書かなくても(逃げても)構いませんよwww
0341デフォルトの名無しさん2012/10/20(土) 20:54:05.91
書いてもいいんだけど、Linuxのソースが、Linux以外のオペレーティング
システム上でperlを実行したときの実行環境の違いを吸収できると考えて
いるひとには理解できなそう
0342デフォルトの名無しさん2012/10/20(土) 21:09:04.20
たぶん、無理だろうね。かわいそす
0343デフォルトの名無しさん2012/10/20(土) 21:21:01.55
やっぱゆとりだったかw

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

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

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

ま、お前にはそんな芸当出来ないだろうがな。がはははははwwww
0344デフォルトの名無しさん2012/10/20(土) 21:42:31.78
>>343
意味不明
0345デフォルトの名無しさん2012/10/20(土) 21:47:19.43
意訳 馬鹿だから理解できないw
0346デフォルトの名無しさん2012/10/20(土) 22:34:46.28
興奮してるのか脳に障害があるのか分からないが
文章が無茶苦茶だな
0347デフォルトの名無しさん2012/10/20(土) 23:27:28.93
たぶんではなくて完全に無理です。コンテキストの理解を求める俺のほうが
完全に悪かったです。printf も覚えようとしなくて結構です。

どうもすみませんでした。
0348デフォルトの名無しさん2012/10/20(土) 23:55:00.68
モダンPerlが脳障■者を集めるのか、脳障■者がモダンPerlを好むのか

これって日本だけの現象なの?モダンRubyとかも同じ状況なの?
0349デフォルトの名無しさん2012/10/21(日) 00:21:29.73
いいから黙ってろって
0350デフォルトの名無しさん2012/10/21(日) 00:34:27.55
>>343
> こういう作り方ってのは普通にやることだし、そんなことが
> 思いつかないってのは自分でやったことがないってことw
>
> そこからこのセリフにつながる

罵倒を目的とした文章で代名詞の頻度が上がるのは、脳に良くない変化が起きていることを現すから気をつけた方がいい。
0351デフォルトの名無しさん2012/10/21(日) 00:35:41.55
じいさんがボケ始めた頃「あれ取って」が増えたのと同じか?
0352デフォルトの名無しさん2012/10/21(日) 00:46:26.95
>>350
> 罵倒を目的とした文章で代名詞の頻度が上がるのは、脳に良くない変化が起きていることを現すから気をつけた方がいい。

そんなデータはありませんwww
大丈夫?
0353デフォルトの名無しさん2012/10/21(日) 01:30:13.87
ボケ老人風文体わろす
0354デフォルトの名無しさん2012/10/21(日) 02:33:32.41
実行環境の制約(機器であったり、OSであったり、その会社の規則だったり)で
ポータブルなスクリプトを書かなければならないことはあるだろうけど、
制約によってモダンPerlで書かなければならないってことは現実にあるんだろ
うか?

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

モダンPerlは結局のところ単なる自己満足なのだろうか?回答を求む。
0355デフォルトの名無しさん2012/10/21(日) 02:48:51.74
> ポータブルなスクリプトを書かなければならないことはあるだろうけど
お前のポータブルの意味って何?
新しいPerlを入れればいいだけだろ。

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

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

正直モダンPerlって呼ばれてるような書き方をしてはいけないなんて制約がある方が特殊すぎ
0357デフォルトの名無しさん2012/10/21(日) 14:23:20.43
自分の書くプログラムのスタイルなら、モダンだろうとクラシックだろうと好きに書けばよい。
でも、モダンPerl!モダン!モダン!って言う連中って、CPANとかのライブラリを使って書くことを
モダンだと言ってることが多い。

ライブラリを自分で抱えるのでなく、システムに入れろっていうのは横暴だし無理だろう。
すでに作られているシステムに、あとからCPANライブラリを追加したら、
既存のPerlスクリプト全ての再検証必要となるからね
0358デフォルトの名無しさん2012/10/21(日) 14:57:36.30
どんなモジュール追加したらそんな大げさなことになるんだよ。
0359デフォルトの名無しさん2012/10/21(日) 15:03:26.42
今のモダンPerlの世界は
perlbrew + cpanminus + local::lib を使って
システムに入れずに最新Perlを使うのです。
0360デフォルトの名無しさん2012/10/21(日) 20:00:42.97
『はじめてのPerl』にlocal::libとcpanmが出てくる時代になりました。
0361デフォルトの名無しさん2012/10/31(水) 01:25:45.68
書いたときにモダンなのは当たり前だろう
モダン推しは時間軸の視点が抜け落ちているんだな
0362デフォルトの名無しさん2012/11/04(日) 13:29:05.31
>>358
Encodeモジュールのようなモジュールだろ
まあ、あえて名指しはしないけどな
0363デフォルトの名無しさん2012/11/04(日) 17:39:50.59
なんでEncodeモジュールを追加しただけで
再検証が必要になるんだ?

Encodeモジュールは最近のPerlには標準搭載されてるだろ。
まさか最新のPerlで動かないコード書いてるのか?
0364デフォルトの名無しさん2012/11/06(火) 01:19:20.40
>>318 >>319
フリーソフトはそもそも AS IS だからサポート切れとかはない
今までのどのらくだ本にも最初に書いてある

で、強要だの押し付けただのってしたことあったっけ?
0365デフォルトの名無しさん2012/11/06(火) 17:24:09.46
0366デフォルトの名無しさん2012/11/06(火) 23:57:40.03
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
0367デフォルトの名無しさん2012/11/07(水) 00:29:49.79
好きなだけ弄ればいいさ。
誰も止めやしない。
0368デフォルトの名無しさん2012/11/07(水) 01:58:26.48
Jcode,pmてまだまだ使われてるの?
さすがに require jcode はないよねー
0369デフォルトの名無しさん2012/11/07(水) 21:36:21.96
まだまだ現役です。だって使いやすいんだもん。
0370デフォルトの名無しさん2012/11/07(水) 21:58:36.93
Inline CとPerlとの
XSUB変換がperlgutの必須必要事項だと
会社の上司に言われたのですが、最後の

READMEに乗ってる
ようにmakeコマンドが生成されません。基本は
h2xs -A -n ExtModuleを実行し、種々の
実行環境を整えます。
参考URL:
http://d.hatena.ne.jp/perlcodesample/20100809/1278596435
0371デフォルトの名無しさん2012/11/07(水) 22:03:15.28
どう説明しようかな
0372デフォルトの名無しさん2012/11/07(水) 22:04:16.52
#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ファイルらしき物は一向に
生成されません。
0373デフォルトの名無しさん2012/11/07(水) 22:06:14.66
ちなみに
コマンドプロンプトから

..
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
のディレクトリが成立しています
0374デフォルトの名無しさん2012/11/07(水) 22:08:46.56
>>372
事項ではなくて、実行であります。
タイプミスすんまそん
0375デフォルトの名無しさん2012/11/07(水) 23:24:53.47
メタな問題が発生しているとだけ回答しておく
0376デフォルトの名無しさん2012/11/07(水) 23:28:00.83
Makefile.PLはこの作業を自動化するmakeファイルを生成してくれます。
↑これが原因か
何とも罪作りな記事だな
そのページのコメント欄に質問として書いちゃえよ
0377デフォルトの名無しさん2012/11/07(水) 23:29:47.33

※1 これはWindowsではうまく動かない可能性があります。
0378デフォルトの名無しさん2012/11/08(木) 07:22:49.06
初歩的なミスを
した物のどの記事もWin系なのかUni系
なのかわからん記事ばかりで

一応
WindowにGnuWin32を通した物の

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

なんてエラーが
返って来る。結局Windowユーザーは
Xsubpp覚えなくてもいいってことか。
0379デフォルトの名無しさん2012/11/09(金) 00:56:41.22
Xsubppによる利便性の低下、な
0380デフォルトの名無しさん2012/11/09(金) 12:27:18.50
>>379
これだから2cherはクズ
0381デフォルトの名無しさん2012/11/09(金) 15:38:32.61
新聞じゃないんだからw
0382デフォルトの名無しさん2012/11/11(日) 22:47:24.71
先生!makeファイルがmakeされません!
0383デフォルトの名無しさん2012/11/11(日) 23:40:24.23
sudo apt-get install make
0384デフォルトの名無しさん2012/11/12(月) 09:00:12.42
active perlだと、今はコンパイラも付いてくるからそれを使う。
makeはdmakeを使う。
0385デフォルトの名無しさん2012/11/14(水) 00:00:27.32
彼女がメイク中でした。



(高見盛に激似です)
0386デフォルトの名無しさん2012/11/17(土) 20:22:53.85
DOSこいっ
0387デフォルトの名無しさん2012/11/18(日) 01:18:35.04
文字列がtest_1やtest_2やtest_3のように
test_○のような形になっているかを正規表現で調べるにはどうすればいいんですか?
○の中は数字のみです
0388デフォルトの名無しさん2012/11/18(日) 02:26:28.96
$str =~ /\Atest_\d\z/
0389デフォルトの名無しさん2012/11/19(月) 11:30:45.47
>>387←正規表現スレじゃなくてここできいてるこの基地害なに?
0390デフォルトの名無しさん2012/11/25(日) 00:36:01.64
あげ
0391デフォルトの名無しさん2012/11/25(日) 00:36:59.73
モダン厨のすくつ
0392デフォルトの名無しさん2012/11/25(日) 00:38:10.24
さらに一文字減らせた!

($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
0393デフォルトの名無しさん2012/11/25(日) 00:38:50.82
printfの後のスペースなくても動いた!

($d,$m,$y)=(localtime)[3..5];printf"%04d"."-%02d"x2,1900+$y,$m+1,$d
0394デフォルトの名無しさん2012/11/25(日) 00:44:06.73
そんなに短さにこだわるなら、無理やり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
0395デフォルトの名無しさん2012/11/25(日) 00:49:11.82
おっと馬鹿が勝手に条件変えてきたぞ
0396デフォルトの名無しさん2012/11/25(日) 00:51:05.56
>>394
print localtime->ymd;

これでいいんじゃね?

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

use Time::Piece;print localtime->ymd;
($d,$m,$y)=(localtime)[3..5];print 1900+$y,"-",$m+1,"-",$d
0397デフォルトの名無しさん2012/11/25(日) 09:16:00.99
せめてPOSIX。

use POSIX;
print strftime("%Y-%m-%d", localtime);
0398デフォルトの名無しさん2012/12/02(日) 11:20:23.79
どうせすぐ古くなるんだから。保守するのに時間軸の視点は必要だぞ。
0399デフォルトの名無しさん2012/12/09(日) 14:19:16.53
ポータブルPerlとかモジュールなしPerlとか
0400デフォルトの名無しさん2012/12/09(日) 15:03:54.83
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 )));
}
0401デフォルトの名無しさん2012/12/09(日) 15:04:52.27
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
0402デフォルトの名無しさん2012/12/09(日) 15:10:51.49
ちなみに環境はActive PerlでWindows7を使っています
0403デフォルトの名無しさん2012/12/09(日) 15:13:07.96
なお、提出期限は本日中とする。
0404デフォルトの名無しさん2012/12/09(日) 20:41:15.31
確かRETVALて
マジック変数だよな。Perl側にアウトライン
した時に恐らくマジックに変異してるジャマイカ?

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

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

もう資料の少ないマジックに手をださないから
RETVALに代入した後の処置を教えください。
0405デフォルトの名無しさん2012/12/11(火) 00:35:47.74
つーか、スレまちがい
0406デフォルトの名無しさん2013/10/12(土) 16:10:02.36
今から学ぶならやっぱPerlよりPythonなのかなあ?
0407デフォルトの名無しさん2013/10/12(土) 21:02:22.21
>>406
りょうほういっとけ
0408デフォルトの名無しさん2014/01/05(日) 23:44:28.13
>>406
さすがにrubyやphpならともかく、pythonはナイわ
0409デフォルトの名無しさん2014/01/06(月) 16:11:01.27
解析するならPythonじゃね?
クラックコンテスト上位者はみんなPython使いのようだし。
0410デフォルトの名無しさん2014/01/06(月) 16:12:58.25
間違えた、ハッキングコンテスト。
0411デフォルトの名無しさん2014/01/17(金) 01:37:55.47
Django使うの以外にPython使う理由が見つからない
0412デフォルトの名無しさん2014/01/17(金) 08:52:36.67
倍幅文字を含んだ文字列を端末にテーブル状に整形して表示したいのですが,

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

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

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

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

非モダン質問箱の方は質問できる雰囲気ではなかったので
こちらで質問させて頂きました.
0413デフォルトの名無しさん2014/01/17(金) 14:45:12.15
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を返す
0414デフォルトの名無しさん2014/01/17(金) 14:52:43.34
>>411
生粋のWeb脳って気持ち悪い
0415デフォルトの名無しさん2014/01/17(金) 17:55:39.71
ゴミ
0416デフォルトの名無しさん2014/01/17(金) 21:47:20.63
そういうのもうあるみたい
ttps://github.com/kaz-utashiro/MBPrintf
0417デフォルトの名無しさん2014/01/18(土) 19:55:51.97
与えられた文字列から適当な数値を求めたいんだけど
標準関数で簡単にやるにはなにかいい方法ある?
0418デフォルトの名無しさん2014/01/18(土) 21:05:51.45
せめて10レスくらい読めよ
$ perl -le 'print for unpack q{C*}, q{もじ}'
227
130
130
227
129
152
0419デフォルトの名無しさん2014/01/18(土) 21:11:44.49
>>418
お前やっぱ頭良くないんだな
0420デフォルトの名無しさん2014/01/18(土) 21:13:59.31
joinすりゃいいだけじゃん
0421デフォルトの名無しさん2014/01/18(土) 21:17:28.94
>>418
それだと文字列が長い時に困るんだよね
0422デフォルトの名無しさん2014/01/18(土) 21:17:41.63
そこまで書かなきゃいけなかった?
0423デフォルトの名無しさん2014/01/18(土) 21:21:14.21
>>422
いいから早く消えろってことだよ
やんわり言ったら分からなかった?
0424デフォルトの名無しさん2014/01/18(土) 21:26:46.26
>>422
ウザ杉
0425デフォルトの名無しさん2014/01/18(土) 21:27:09.30
>>421
BigInt付けるか、他の方法を考えるかしたら?
文字列じゃなくて、変数ってんならアドレスとかの方法もあるけど、
0426デフォルトの名無しさん2014/01/18(土) 21:28:17.27
あっちで釣りの続きしてればいいのに
0427デフォルトの名無しさん2014/01/18(土) 21:29:11.08
>>425
何で上から目線なの?
自己顕示欲満たしてやってんだから嫌なら答えるなよ。
0428デフォルトの名無しさん2014/01/18(土) 21:31:14.66
>>425
基地害のお客様はこちらへお引き取りください。

http://toro.2ch.net/test/read.cgi/tech/1385039352/
0429デフォルトの名無しさん2014/01/18(土) 21:32:59.96
そもそもこんなところで質問してあーだこーだ言わないと使えないんだったら、
Rubyをサクッと学習してやったほうが早い。
0430デフォルトの名無しさん2014/01/18(土) 21:33:11.61
嬉しそうだなあ、、、
0431デフォルトの名無しさん2014/01/18(土) 21:38:18.15
>>426
バーカ
0432デフォルトの名無しさん2014/01/18(土) 21:39:58.39
嬉しそうだな、、、
0433デフォルトの名無しさん2014/01/18(土) 23:17:08.53
配列の配列を戻り値にしたいんだけど
どうしたらいい?
0434デフォルトの名無しさん2014/01/18(土) 23:21:00.50
そういう場合は配列のリファレンスを使う
0435デフォルトの名無しさん2014/01/18(土) 23:47:42.99
自演キモw
0436デフォルトの名無しさん2014/01/19(日) 00:03:33.90
Perl厨の自演って分かりやすいな。
文章構成能力がないから、短文で一問一答w
0437デフォルトの名無しさん2014/01/19(日) 08:36:16.42
お前の自演の方もなかなか解りやすいぞ、PHP厨
0438デフォルトの名無しさん2014/01/19(日) 14:34:32.39
糞言語の糞スレ
04394122014/01/19(日) 20:39:49.50
>>413
制御文字を除外するために文字が特定範囲にあるか調べる方法がテクいです

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


MBPrintf.pm の方を使って printf を置き換えることにしました.
HTMLとかにして出力するしかないかなと思っていたところ
さくっと printf を置換えするだけで綺麗に出力できそうなので
大変助かりました. 質問してみて良かったです.
レスありがとうございました.
0440デフォルトの名無しさん2014/01/19(日) 20:47:27.99
>>439
やっぱ馬鹿なんだな
お前みたいな奴が日本のIT産業をダメにしてんだよ
0441デフォルトの名無しさん2014/01/19(日) 23:18:27.65
同じこと考えるも何も、日本でPerl広めたのはこの人だよ
0442デフォルトの名無しさん2014/01/20(月) 01:59:57.20
>>439=無知の極み
0443デフォルトの名無しさん2014/01/20(月) 02:09:18.33
受け答えのレベルから推察するとシフトJISを使うことを思いついていない気がする
0444デフォルトの名無しさん2014/01/20(月) 04:37:59.99
Perl以前の知能の問題なんだろw
0445デフォルトの名無しさん2014/01/20(月) 06:18:02.59
コマンドラインで使う前提での質問なのにシフトJISってw
質問すら読解する能力無いだろ

ほんとにWebProgに帰れよドアホ
0446デフォルトの名無しさん2014/01/20(月) 10:35:12.20
ゴミは黙ってろ
0447デフォルトの名無しさん2014/01/20(月) 17:02:27.54
>>445
草生やしてんじゃねーよ。
半笑いのつもりか?
半笑いでバカをアピールする>>445哀れ。
0448デフォルトの名無しさん2014/01/20(月) 19:07:10.73
連レスかまして無知晒すから、解りやすいぞPHP厨
0449デフォルトの名無しさん2014/01/20(月) 22:18:42.87
キチスレ
0450デフォルトの名無しさん2014/01/24(金) 19:52:20.84
Config::INI とかTiny とかのライブラリで
コメント行は ; になっているけど
これを # にするようにできるライブラリはある?
0451デフォルトの名無しさん2014/01/24(金) 19:55:55.11
>>450
ある。
回答きたんだからさっさと消えてね。
0452デフォルトの名無しさん2014/01/24(金) 20:05:16.41
>>450
ないよ
0453デフォルトの名無しさん2014/01/24(金) 20:33:39.02
>>450
ここが参考になる
ttp://to-a.ru/LEeAgi
0454デフォルトの名無しさん2014/01/24(金) 20:46:52.82
>>450
ナイアルヨ
0455デフォルトの名無しさん2014/01/25(土) 15:26:50.61
その程度も自分で調べられないとか頭悪いんだろうな
調べたら3分かかからなかったけどな
0456デフォルトの名無しさん2014/01/25(土) 23:28:51.18
このスレって何人いるんだろう?
0457デフォルトの名無しさん2014/01/26(日) 02:01:56.35
日本人だと思う
0458デフォルトの名無しさん2014/01/26(日) 02:47:37.23
おまえあれだろさっきまでなぞなぞスレにいただろ
0459デフォルトの名無しさん2014/01/26(日) 04:20:51.88
うまいw
0460デフォルトの名無しさん2014/01/26(日) 17:46:42.97
>>454 は中国人かも知れんぞ
0461デフォルトの名無しさん2014/01/26(日) 19:06:15.38
日本人ですだよ
0462デフォルトの名無しさん2014/01/26(日) 19:27:54.97
ニーハオ!
パンニハムハサム ザパニーズニダアルヨ!
ショーグンサマ バンザイ!
テポドン バンザイ!
0463デフォルトの名無しさん2014/02/05(水) 19:25:52.75
文字列が二つあって、その比較をしたい
共通1 差分1 共通2 差分2 共通3
みたいな感じで、2箇所まで差分を抽出したい

現実的な速度で動くうまい方法ないかな
0464デフォルトの名無しさん2014/02/05(水) 19:28:44.02
>>463
他人に頼る前提で始めるような馬鹿には無理。
0465デフォルトの名無しさん2014/02/05(水) 19:37:38.58
>>463
はぁ?
自分でやったけど何秒かかって、これが何秒以内に終わるようにとかも書けねーの?
本当にお前ゴミだな
リアルでもどうせその調子なんだろ
リアルでもゴミだと思われてるけど気付いてる?
0466デフォルトの名無しさん2014/02/05(水) 19:44:06.43
自分で試すことすらしない猿未満の低能には言うだけ無駄
猿ですら目的達成のために試行錯誤するのに
0467デフォルトの名無しさん2014/02/05(水) 19:54:20.78
$str1 = 'aaabbbcccdddeee';
$str2 = 'aaafffcccgggeee';

$test = $str1 . "\t" . $str2;
$test =~ /(.+)(.+?)(.+)(.+?)(.+)\t\1(.+?)\3(.+?)\5/;
$c1 = $1;
$d11 = $2;
$c2 = $3;
$d12 = $4;
$c3 = $5;
$d21 = $6;
$d22 = $7;

print "$c1 $d11 $c2 $d12 $c3\n";
print "$c1 $d21 $c2 $d22 $c3\n";

結果
aaa bbb ccc ddd eee
aaa fff ccc ggg eee

こんなのはすぐに思い付くと思う
ところがこれは、文字列の長さが100文字とかでもう遅すぎて使えなくなる
0468デフォルトの名無しさん2014/02/05(水) 19:57:49.18
こういうのを見るたびに
足りないのは知識やスキルではなく羞恥心なんだなと思う
0469デフォルトの名無しさん2014/02/05(水) 21:11:10.78
>>467
ここはごみ捨て場ではありません。
0470デフォルトの名無しさん2014/02/05(水) 21:26:16.47
2つの文字列を文字ごとに分解して2つの配列を作ってから↓
ttp://perldoc.jp/docs/modules/Algorithm-Diff-1.15/Diff.pod
0471デフォルトの名無しさん2014/02/05(水) 22:05:27.01
実に頭の悪そうな回答がきたなw
0472デフォルトの名無しさん2014/02/05(水) 22:39:45.84
diffは多少一致してない部分があってもいい、みたいな曖昧な判定をするから、
余計にややこしいんだよな
0473デフォルトの名無しさん2014/02/05(水) 23:42:17.25
うちのLarryに何か用かい?
0474デフォルトの名無しさん2014/02/06(木) 01:46:47.51
おれならxor使うけどね
0475デフォルトの名無しさん2014/06/20(金) 08:07:41.06 ID:w/WZ2GYd
say "";
0476デフォルトの名無しさん2015/02/07(土) 15:14:06.33 ID:yYV1uKlQ
ネットで検索する時は単語をスペースで区切ってそのANDで結果を得るけど、
同じことを正規表現でやりたい時はどう書けばいい?
0477デフォルトの名無しさん2015/02/26(木) 19:17:26.46 ID:0RIBJGtF
「$s が hello と world の両方にマッチする」なら、単に

$s =~ /hello/ && $s =~ /world/

と書くだけじゃないの?質問がよく分からないのだけれども
0478デフォルトの名無しさん2015/02/26(木) 20:48:44.94 ID:G3LqtZtx
>>476
あえて無理やり正規表現のみでやるなら否定先読みを使う

if( /(hoge|piyo).*(?!\1)(hoge|piyo)/ ){ print "成功\n"; }
0479デフォルトの名無しさん2015/02/26(木) 21:43:04.63 ID:dwtaxn6g
否定の先読みなんかせんでも
print ‘foobar’ if /(?:foo.*?bar|bar.*?foo)/ ;
で良いんじゃねーのか
0480デフォルトの名無しさん2015/02/26(木) 21:54:30.24 ID:RGF9/3q7
入力がスペース区切りの文字列なんだよ
0481デフォルトの名無しさん2015/02/27(金) 00:27:41.82 ID:xTYPuOZ2
仮に検索エンジンみたいなのを書くにしても
何を対象にするのかとか、検索単位とかを決めてもらわんと書きづらいぞ
「同じこと」の通り「対象:Webサイト、単位:ページ」ならGoogleに投げりゃ済むし
0482デフォルトの名無しさん2015/02/27(金) 00:34:35.35 ID:dW0+IHnO
検索対象も文字列に決まってるだろ
正規表現でのマッチングだっつってるんだから

逃げてないで考えてみれ
0483デフォルトの名無しさん2015/02/27(金) 01:46:02.77 ID:xTYPuOZ2
>>482
文字列?
テキストでもファイルでもなく?
それって何に使うんだろか…結局、目的は何よ?って話だよ
もしかしたらもっと良い方法があるんじゃ?と勘ぐってしまうのよどうしても
0484デフォルトの名無しさん2015/02/27(金) 06:35:52.51 ID:dW0+IHnO
またよく判らん屁理屈を
検索の単位が文字列に対してで、それがどこから来たかは問題にならないだろ
まあ、大抵はファイルからだろうけど

で、ファイルならこんなツールがあるよ、みたいな感じで本題から逃げたいのが見え見え
0485デフォルトの名無しさん2015/02/27(金) 09:44:40.27 ID:xTYPuOZ2
>>484
いやまあ、文字列に対してなら

my $hit = 1;
for my $ptn (split(" ",$search)) {
$s =~ /$ptn/ or $hit = 0;
}

こんなんで出来ると思うけど、こんなんで本当に良いのか?
後出し条件とか大量に出てきそうな感じがするんだが
0486デフォルトの名無しさん2015/02/27(金) 20:22:44.34 ID:JIR4zlR2
お前は、「ワンライナーでどうやりますか」って質問に
スクリプト作成して答えるのか?

「正規表現でどうやりますか?」って質問には、
普通に正規表現で答えりゃいいだろうが。
実際、質問への答えは、
>>477->>479で終了してる。

後出しを心配するなら実際に後出しされてから
盛大に罵倒しろよ
0487デフォルトの名無しさん2015/02/28(土) 15:03:31.15 ID:6vZKnEo0
あえて制限をつけてパズルとして解くならともかく
現実的な解としては >>477 で十分だよな
0488デフォルトの名無しさん2015/02/28(土) 16:50:40.78 ID:05aMjvqG
元々の要求はただのスペース区切りだから、パラメータ数は不定で、
パラメータ抽出して、その全部に対してマッチングを繰り返すという当たり前の処理になる

でも、そんなことは最初から判っているのでわざわざ聞く筈がない

スペース区切りの文字列をそのまま使ってマッチングがしたいなら、
残念ながらperlの正規表現でそんなことは出来ない、が答えとなる
0489デフォルトの名無しさん2015/02/28(土) 17:32:00.47 ID:JKlRGoUv
本物のコミュ障だなぁ
粘着されてる>>476が、可哀想だわ。
0490デフォルトの名無しさん2015/02/28(土) 17:35:55.35 ID:e1yM9CPU
質問者のレベルまで勝手に想定するし、、、

>>476から読み取れるのは、拡大解釈しても
「ワンセンテンスの正規表現で書くにはどうしたらいい?」
程度だろーに
0491デフォルトの名無しさん2015/02/28(土) 19:58:12.22 ID:HemDgo4Q
◯正規表現で、AND検索の実装って、どうやんの?
×正規表現で、「スペースを使って」AND検索の実装って、どうやんの?

「わざわざ聞く筈がない」まで、分かってんなら、
自分の解釈の仕方が間違ってないか、
自問しろよ
0492デフォルトの名無しさん2016/01/10(日) 13:39:26.30 ID:/ndDSiBm
971 名前:名無しさん@七周年[] 投稿日:2006/11/11(土) 00:56:10 ID:M8+ahUZV0
自称スーパープログラマー某

強烈加齢臭
メール見ない メール無視
ドキュメント見ない ドキュメント無視
説明聞かない 説明無視
話聞かない 話無視
ガム→むっちゃー むっちゃー むっちゃー むっちゃー
煎餅→バリバリバリバリバリバリ
菓子パン→モグモグモグモグモグモグモグモグモグモグ
カップアイス→むっちゃー むっちゃー ペロペロペロペロ

フロアすべてに響き渡る 超ばかでかいくしゃみ 当然手でおさえない

異音と異振動
ドスーン!ドスーン! ドカーン!ドカーン! バコーン!バコーン! ズドン!ズドン!
机が近いとマウスポインターが飛ぶ 誤操作誘発
書類だしたりしまうだけでドカンドカン

30秒ごとに口と鼻から異音
ふんっっ!    ふんっっ!   

備品破壊 貸与P C 破壊 他人のもの破壊

奴の作ったスクリプトとプログラムは使えない バグ製造機

電話や共有携帯電話 キーボードが油ベタベタ
奴に電話とPCとコンソールは触らせてはいけない
0493デフォルトの名無しさん2016/01/10(日) 17:45:28.72 ID:lr/f1ZoA
Perl 5 version 16の正規表現で、地の文の一部としてマッチさせたいときに
バックスラッシュでエスケープせねばならない文字の一覧を教えてください
文字集合[ ]の内外で違うとか、文脈依存があればそれも知りたいです
0494デフォルトの名無しさん2016/01/10(日) 22:39:51.49 ID:iK/aBQIt
何をしたいのか知らないけど
http://perldoc.jp/index/core
で疑問のほとんどは解決すると思う。

まあ、エスケープすべき文字を知りたいということならそれは「英数字以外」だ。
\Q と quotemeta 関数について調べてみてほしい。
0495デフォルトの名無しさん2016/01/11(月) 19:10:22.91 ID:JutXF6Cv
>>494
ありがとうございます。
質問の動機は単に手で正規表現を書くときエスケープすべきかどうか
悩ましかったから(実際には「+」や「:」や「#」とか「[ ]」の外の「-」はエスケープ無しでも通っていそう)
だったからですが、エスケープして無害ということであればそうします

それはそうとしてquotemeta便利杉、
0496デフォルトの名無しさん2016/01/23(土) 00:11:45.16 ID:ACxJywqs
すまん

Perl 6使った奴おるか
0497デフォルトの名無しさん2016/01/23(土) 06:03:31.81 ID:mGQek17v
>>496
おるけど?

まだ後10年は掛る。
触る必要無し

処理速度とか早くなってんのかも知れんけど、
起動が遅くて、使い物にならん。
挙動もバギー、docも揃ってない。
止事無き事情から、アルファ版を正式版として
リリースしただけじゃね?
0498デフォルトの名無しさん2016/02/07(日) 22:53:45.48 ID:zQAcaA+r
外部コマンドの話が出てて思い出したけど、
外部コマンドを実行するときに任意の文字列を外部コマンドの引数として渡したい場合、
Linux環境でエスケープすべき文字は?
シングルクォートとバックスラッシュだけエスケープして、それをシングルクォートで括ればOK?
0499デフォルトの名無しさん2016/02/09(火) 22:03:18.36 ID:390QsJXI
なんかPerl 5.16.1のウィンドーズ版のUTF-8対応は中途半端な希ガス、
use utf8;としてUTF-8でソースコードを書いても
open()のファイル名とかsystem()に与えるコマンド文字列とかが'shiftjis'(正確には'cp932')のままだし、
コマンド引数も'shiftjis'(正確には'cp932')のままだし、
なんでああなんですかね…
0500デフォルトの名無しさん2016/02/09(火) 23:41:10.97 ID:J9+y92l0
dankogaiがのらりくらりうまく回避しちゃうからじゃない?
俺はもうperlでsjis処理するのはあきらめた。
0501デフォルトの名無しさん2016/02/12(金) 00:23:06.63 ID:kq1OODWj
いろいろ面倒なんで、俺は use utf8; を使わないことにしたよ。
0502デフォルトの名無しさん2016/02/13(土) 14:58:53.06 ID:vq3C3FT5
>>498
シェルを経由するのならシェルのマニュアルを読みなさいとしか言えない。
bash の場合なら「定義」の項のメタ文字と「クォート」の項。
シングルクォートなら大体大丈夫なはずだけど。
そういう心配をしなきゃならないならシェルを呼ばない方が無難。
シェル経由でなければシステムコールするだけだから。
0503デフォルトの名無しさん2016/02/14(日) 22:17:05.33 ID:ctVTXhCg
>>498
もしかして、普段は Windows 使ってるからコマンドラインを作って渡す方法しか知らないとかそういうこと?
0504デフォルトの名無しさん2016/02/14(日) 22:28:48.47 ID:d+6VipxK
思い付きで気軽にコマンドライン作って出力をキャプチャできるのがLLの良いところなのにね。
0505デフォルトの名無しさん2016/02/15(月) 12:21:34.14 ID:9WjYXC66
>>504
助けてあげる気が無いなら引っ込んでてくれないか?
0506デフォルトの名無しさん2016/02/15(月) 15:10:01.24 ID:8Z92Uy24
>>498
" " 内では、「$(変数展開) \ `(コマンド置換) !(ヒストリ)」が展開される。
' ' 内では、展開されない。
\ は直後の1文字の機能を無効化する

メタキャラクタ・特殊文字なら、他にも多数。
? * > >> < << | ~ & など

ただし、「! ~」は、bashのみ
0507デフォルトの名無しさん2016/02/16(火) 03:32:48.12 ID:y+ZjOqCo
モダンPerl入門 増補改訂版(仮)
http://codezine.jp/book/modernperl2
0508デフォルトの名無しさん2016/02/16(火) 21:30:09.30 ID:MTIgWlq3
刊行日: 2014年1月予定
0509デフォルトの名無しさん2016/02/17(水) 00:23:01.67 ID:wnysiCN2
なんと!もう発売されていましたか!
0510デフォルトの名無しさん2016/02/23(火) 20:40:57.84 ID:RqQoWDN5
これからPerlを学ぶメリットってある?
0511デフォルトの名無しさん2016/02/23(火) 21:43:14.01 ID:Oh6h4g2T
いっぱーぃぁる
いっぱーぁある
いっぱーぁる
いっぱーる
0512デフォルトの名無しさん2016/02/24(水) 02:40:25.37 ID:lkPqYQmC
UNIXの歴史をエッセンスにしてUNIX以外でも使えるようにした言語だから学ぶ価値はある。
おれの場合はWindows上で毎日使ってる。慣れの問題もあるが他の言語だとこうはいかない。
0513デフォルトの名無しさん2016/02/24(水) 02:47:53.12 ID:RDH9smV+
他の言語もWindowsで使えるだろ
0514デフォルトの名無しさん2016/02/24(水) 05:22:56.15 ID:0U45vlYv
バージョンをきにしなくていいなら、Perlは、Windows 2000のパソコンでもつかえる。
現在のRubyは、インストーラがうごかない。インストーラがうごいても、実行時にDLLがどうのこうのいってエラー
Pythonも同様だろう、インストールがめんどくさいのは、損ですよ

Ruby, PythonでもCygwinならいけるかも
Cygwinがきらいなひとは、こまります
0515デフォルトの名無しさん2016/02/24(水) 05:26:37.80 ID:0U45vlYv
C, Perlならイヤなおもいをしなくていい
0516デフォルトの名無しさん2016/02/26(金) 20:40:22.77 ID:S1uVBK59
今時Cigwinなんて使ってるやついるの?
使う理由が見当たらないんだけど…。
0517デフォルトの名無しさん2016/02/26(金) 21:57:44.67 ID:dBO2xm/m
>>516
Windowsでコマンドラインを使うときに
一番便利な道具だよ。
0518デフォルトの名無しさん2016/02/26(金) 23:40:31.20 ID:5TeMxoC2
>>516
cygwinはインストールが楽でいいんだよ
0519デフォルトの名無しさん2016/02/27(土) 21:54:12.18 ID:EDqxACn8
>>517
その使い方こそがもう洋ナシなんじゃないの?
0520デフォルトの名無しさん2016/02/28(日) 07:42:58.32 ID:0vKPLMUN
>>519
おまえさん、何でム板にいんの?
WebProg板の住人の発言だったら、まだ分るけどさ。
0521デフォルトの名無しさん2016/02/28(日) 11:25:02.81 ID:jJK+500Y
>>517
cygwin+Perlでできて、バッチファイル(cmd.exe)+Perlでできないこととは…?
0522デフォルトの名無しさん2016/02/28(日) 11:39:02.77 ID:w1saw6Ta
>>521
その場合、Perlの部分は同じ。違うのは cmd.exe と bash (またはzsh) なので
コマンドプロンプトで出来ないこととは、シェルとシェルスクリプトの実行ということになる。

つまりbash(zsh)の快適な操作性が、cmd.exeにはない。
LinuxやMacで動くシェルスクリプトがcmd.exeでは動かない。
0523デフォルトの名無しさん2016/02/28(日) 22:48:20.46 ID:Ozi57itY
パスに日本語使わない運用ならね
でもそれって制限きついよね?仕事で使うのはまず無理だな
0524デフォルトの名無しさん2016/02/28(日) 23:03:09.55 ID:w1saw6Ta
そういやcygwinはファイル名に日本語ついていても
ちゃんと動くよな。凄いことだよな。

>>523
お前何の話してんのー?
0525デフォルトの名無しさん2016/02/29(月) 21:02:02.19 ID:VLQsoBHX
>>520
個人環境なら好きにやればいいんじゃない?
0526デフォルトの名無しさん2016/07/18(月) 23:24:13.82 ID:RVsoZVBC
ロブ・パイク語録。
>「UNIXはただ死んだだけでなく、本当にひどい臭いを放ち始めている」 - 1991年ごろ
(中略)
>「そういった日々は過ぎ去り、賛辞は Perl にもたらされた」 - [7] 単機能ツールについて
賛辞は Perl にもたらされた!
0527デフォルトの名無しさん2016/08/18(木) 07:54:36.84 ID:VLXPL8iW
>>526
25年前の話だからな。
25年も経てば、SMAPも結成して6人から5人になり解散する。
0528デフォルトの名無しさん2017/04/14(金) 21:43:32.26 ID:zXRfLbO9
win7でactiveperl
`コマンド` からの応答をファイルに書き出したい
テキストならうまくいくけど、バイナリで失敗する
書き出し用のファイルはbinmodeにしてるので、受取側がおかしい
binmode STDIN
にはしてるけど変わらないみたい

C:> コマンド > file.bin
でリダイレクトすると成功するので、コマンド自体はちゃんと動いてる

何が悪いんだろう
0529デフォルトの名無しさん2017/04/14(金) 22:10:00.52 ID:w+Tu3XlB
どういう具合に失敗するんだ?
バイナリをテキストとして解釈するのか?
0530デフォルトの名無しさん2017/04/14(金) 22:32:15.06 ID:zXRfLbO9
バイナリエディタとか無いから詳しくは判らないけど、
pptファイルを開こうとしても怒られる
0531デフォルトの名無しさん2017/04/15(土) 15:32:32.25 ID:40tq7pz4
再現する最小コード書けや
バイナリエディタもフリーのあるやろ
0532デフォルトの名無しさん2017/04/15(土) 15:37:15.38 ID:4y1tBhnC
フリーソフトを勝手にインストールできない
0533デフォルトの名無しさん2017/04/15(土) 15:50:50.88 ID:40tq7pz4
exe単体のもあるしそれさえアウトでも家の環境で再現させられるだろ
つか業務関連なら会社で聞けば
0534デフォルトの名無しさん2017/04/15(土) 16:02:38.46 ID:4y1tBhnC
知らないなら黙ってればいいのに

何かバイナリを標準出力に吐くコマンドなら何でも試せる筈
なかなかそういうサンプルが無いけど
0535デフォルトの名無しさん2017/04/15(土) 19:42:34.21 ID:klGQGN6C
いいからお前の環境で再現するコードを書けよ
0536デフォルトの名無しさん2017/04/15(土) 20:14:19.75 ID:4y1tBhnC
これだけの情報で判らないならコード見ても判らないよ

binmode STDIN;
$result = `SomeCom.exe`;
open $out, '>', 'outfile.bin';
binmode $out;
print $result;

これだとNGで、
C:> SomeCom.exe > outfile.bin
これならOKになる
0537デフォルトの名無しさん2017/04/15(土) 20:28:40.15 ID:X2azyrMV
binmode指定しないとダメなの?
0538デフォルトの名無しさん2017/04/15(土) 21:14:47.45 ID:klGQGN6C
>>536
どう見ても標準出力に吐いてるんだけどそのコードで再現することは当然確認したんだよね?
0539デフォルトの名無しさん2017/04/15(土) 23:58:48.07 ID:j4gmMNAx
STDINは関係ない
パイプをバイナリモードにしろ
0540デフォルトの名無しさん2017/04/16(日) 00:22:01.12 ID:h3ZKvGOL
open $in, '-|', 'SomeCom.exe';
binmode $in;
$result = <$in>;

こんな感じか
` ` を使う限り解決できない?
0541デフォルトの名無しさん2017/04/16(日) 00:23:16.22 ID:h3ZKvGOL
あ、違う
@result に受けて結合か
そこでもまた改行コードが何かしそうな不安が
0542デフォルトの名無しさん2017/04/17(月) 21:59:30.64 ID:MMDneckh
>>539が正解でした
ちなみに、結果を変数に受ける必要はなくて、
入力から出力にそのまま流す方がスマート
0543デフォルトの名無しさん2017/04/23(日) 22:19:57.91 ID:RpWO8O1f
答えを知ってる人はシンプルにいきなり正解のみを示すんだよな

で、必要な知識のない人が見当違いのことをいろいろ書いて掻き回す
新着レスの表示
レスを投稿する