Perlについて
1 :デフォルトの名無しさん :2008/08/04(月) 20:58:41 .net 質問スレはあるけど、Perl自身について語るスレがないので、立てました。
544 :デフォルトの名無しさん :2011/10/07(金) 09:25:24.34 .net てかこのスレの住人だってcpanmとかperlbrew使ってるの5人もいないだろ
545 :デフォルトの名無しさん :2011/10/07(金) 23:50:23.05 .net >>544 知らなかったけど、知った今でもそれらは使わないよ。 cpanm ・・・ cpanみたいにモジュールをインストールする奴 perlbrew・・・Perのバージョンを切り替える奴 ざっと見た感じこういうものだと思うけど、 俺にかぎらず、ウェブアプリを作っている会社なら安定性重視だから Perlを単体で入れることはまず無い。ディストリ標準のを使うだろう。 逆にどうしても特定のバージョンが仕えたいのなら、それに合わせてディストリを選ぶとかね。 Perlモジュールもディストリ標準のと言いたいところだけどそれじゃ足りない場合も多いね。 そういう場合は、パッケージを作ってインストールはもちろんアンインストールも簡単にできるようにするんじゃない? うちはdebianを使ってるけどdh-make-perlを使ってcpanモジュールからdebianパッケージを作っている。一行で簡単に作れるし。 どこになにが入るのか把握しづらいcpan(cpanm)は使わない。 cpanmやperlbrewはフリー・シェアウェアのCGIアプリを作っているというのなら便利なんだろうけど、 そんなのプロならあまり使わないだろうし、ぶっちゃけ、その名前を出した時点で あぁ、あんたは自社サーバーでシステムを動かしてサービス提供している側じゃないんだねと思った。
546 :デフォルトの名無しさん :2011/10/07(金) 23:54:31.16 .net うわぁ
547 :デフォルトの名無しさん :2011/10/07(金) 23:59:38.41 .net >>546 何か言い返したほうがいいぞw
548 :デフォルトの名無しさん :2011/10/08(土) 00:04:01.85 .net cpanmはインストールしたけど、ほとんど使ってない。 perlbrewは使ってない。 local::libは使ってる。無いと死ねる。
549 :デフォルトの名無しさん :2011/10/08(土) 08:38:09.06 .net うちはcpanmは使ってるな。リソース少なめの非力マシンなんで。 cpanと併用だけど。
550 :デフォルトの名無しさん :2011/10/08(土) 13:46:20.74 .net >>530 オリジナルじゃないし座右の銘でもないな。 しかも最後、万人の感情論まで入っているぞw
551 :デフォルトの名無しさん :2011/10/10(月) 00:10:54.13 .net cpanmやperlbrewの作者たちは僕の中でプロと思える存在だったんだけど世の中には兵がたくさんいるんだな
552 :デフォルトの名無しさん :2011/10/10(月) 01:22:29.43 .net > cpanmやperlbrewの作者たちは僕の中でプロと思える存在だったんだけど え? cpanmやperlbrewが無益なものだとは言わないけど、 自分で好きなサーバーを選べないrootも持ってないそういう ニッチな需要に対応するもので、 プロの間では使うことはまずない道具だろ。 技術的には、ネットからダウンロードして パッケージに付いてるコマンド実行するのと パスとディレクトリ変更するだけのものだし。
553 :デフォルトの名無しさん :2011/10/10(月) 01:40:11.10 .net プロハープロハー
554 :デフォルトの名無しさん :2011/10/10(月) 02:29:19.58 .net >>551 別にcpanmやperlbrewやその作者をdisっている訳ではなくて、 必要があれば使うしなければ使わないってだけの話でしょ。 すごいプロダクトならとにかく使わなきゃいけないって考えは変だろ。 >>552 > プロの間では使うことはまずない道具だろ。 んなこたあない。お前の「プロ」定義、歪んでるぞ。ものすごくシロウト臭い。
555 :デフォルトの名無しさん :2011/10/10(月) 06:01:08.40 .net そもそも > 自分で好きなサーバーを選べないrootも持ってないそういう > ニッチな需要に対応するもので、 ここの認識から違う。 どっかの記事みてそう思っちゃったんだろうけど
556 :デフォルトの名無しさん :2011/10/10(月) 06:46:36.59 .net >>555 なにが違うん? 普通にインストールすればいいだけじゃん。
557 :デフォルトの名無しさん :2011/10/10(月) 07:58:34.12 .net >> 自分で好きなサーバーを選べないrootも持ってないそういう >> ニッチな需要に対応するもので、 >ここの認識から違う。 1. cpanmは、コマンドcpanの代替であって、上記のニッチもへったくれも 無いだろ。local::lib使えばroot云々無関係だし。perlbrewと切り分けろよ 2. 自分で鯖を選べてrootも持ってるが、perlの他バージョンの挙動を調べたい。 冷やかしのガキを除けば、そっちの用途の方が多いだろ、perlbrewは。 3. perlbrew及び、それでインストールされるperlは、 必ずしも$HOMEにインストールしなければならない物ではない。 /usr/local以下に突っ込んで運用出来る さて、どの意図でレスされたんだろう?それとも上述以外? 545氏に突っ込むのは徒労だと思うが、そもそも >>544 > てかこのスレの住人だってcpanmとかperlbrew使ってるの5人もいないだろ Encodeの使用者も少ないって言いたいなら、例が悪すぎる core moduleと比較すんのにCPAN moduleを例に出すなよw 需要も重要度も全く次元が違う おまけにJcode.pmの使用者は間接的にEncodeの使用者だ
558 :デフォルトの名無しさん :2011/10/10(月) 13:42:54.40 .net >>557 cpanm(cpan)はアンインストールできないので パッケージを作ったほうが優れている。 また他のperlのバージョンの挙動を調べたいのなら仮想マシン使う。 そんな環境がごちゃごちゃするようなやり方はしない。
559 :デフォルトの名無しさん :2011/10/10(月) 13:51:15.34 .net プロ様お疲れ様っす!
560 :デフォルトの名無しさん :2011/10/10(月) 14:31:27.78 .net >>558 > cpanm(cpan)はアンインストールできないので ん? できるでしょ? ちょっと手間はかかるけど。 インストール時にパッケージ作る手間とどっちを取るか、って感じ?
561 :デフォルトの名無しさん :2011/10/10(月) 14:46:10.85 .net パッケージを作るのは1行〜数行で終わる。 cpanのアンインストールは、モジュールによって やり方が違い、make uninstallを備えていないのも多い。
562 :デフォルトの名無しさん :2011/10/10(月) 15:35:57.38 .net そうか。 まあ基本的にアンインストールしないから関係ないや。 Perlのモジュールなんてインストールされてて困ったなんてことないしなあ。
563 :デフォルトの名無しさん :2011/10/10(月) 16:34:22.42 .net >>562 そこがプロとアマの違いね。 今どのモジュールがどうやってはいったか把握してないでしょ? アマなら動いていればいいじゃんで終わるんだろうけど、プロだとちゃんと環境を把握している。 (覚えているのではなく簡単に調べられるということ) 環境を把握しているから、なにかトラブルが起きた時その原因の切り分けが簡単にできる。 cpanモジュールをパッケージにしていれば、パッケージのバージョンアップで なにか動作がおかしくなった時、今のバージョンを完全に綺麗な状態に消して古いバージョンを入れられる。 もしそうなっていなければ、今モジュール入っているんだっけ? 全部ちゃんと消したっけ? あれ? なんか古いモジュールと新しいモジュールがごっちゃになってる。 インストールが途中でエラー終了したんだけど、今どういう状態になってるんだ?みたいな混乱が起きることになる。
564 :デフォルトの名無しさん :2011/10/10(月) 16:43:47.58 .net データ解析系の人間からすれば、 debianでアプリ開発して移植先がSolarisだったらどうすんの?とか、 仕様書に「野良パッケージが便利だからdh-make-perl入れます」と書くのか?とか。 もうね、、、 その上で、自分はプロ!だからなあ。
565 :デフォルトの名無しさん :2011/10/10(月) 16:45:08.96 .net ああ、「実際の運用時にはcpan使うだろJK」か。
566 :デフォルトの名無しさん :2011/10/10(月) 17:08:01.67 .net 納品先の鯖の保守契約自体は、他の会社(例えば、HPだの)にあった場合に、 そちらに依頼してモジュールのインストールしてもらわなきゃならない、 もしくは仕様書を渡してこちらでインストールなりをする。 鯖のrootにはそれだけの重みと柵がある、例えweb鯖でも。 それのに、気軽にプロなら、とか言ってくれるなよ。 どれだけ軽いrootだよ、お前様の鯖は。 perlbrewもcpanmもどうでも良くて、あんまりのレスについ書いちまった。
567 :デフォルトの名無しさん :2011/10/10(月) 17:11:08.43 .net >>563 いやいや、むしろ"プロ"ならcpanで入れた分だってちょっと調べりゃ綺麗にアンインストールできるでしょ。 make uninstall なんか使えなくってもさ。 パッケージ作るかどうかなんてのは好みだから別に好きにすればいいと思うけど、 基本的にはアンインストールが必要になることなんて滅多にない場合は、 必要が生じた時だけちょっと手をかけてアンインストールすることにして、 インストール自体はcpanで済ませても問題ないじゃない。時間の節約にもなる訳だし。 まあ別に"プロ"じゃないけどね。あ、昔仕事でスクリプト書いたことはあったんでその時だけは"プロ"だったか。
568 :デフォルトの名無しさん :2011/10/10(月) 17:43:24.97 .net > ちょっと調べりゃ はい、その調べる手間が無駄です。
569 :デフォルトの名無しさん :2011/10/10(月) 17:56:21.01 .net >>564 > 仕様書に「野良パッケージが便利だからdh-make-perl入れます」と書くのか?とか。 「野良パッケージが便利だからcpanで入れます」と書くのか? お前の意見はどっちなんだ? 野良パッケージのインストールをするなってことなのか? それはそれで有りだと思うよ。だが今の話とは関係ない。 今は野良パッケージを入れることが前提の話。 野良パッケージを入れる場合、cpanで入れてOSの安定性ぶち壊すのか、 それともパッケージにして管理された状態でモジュールを使うのか。 どっちが優れてるかなんて言うまでもない。 SolarisならSolarisのやり方でパッケージ管理するだけの話。 >>556 お前のほうが軽くね? だって、モジュールのインストールは他の会社に頼む。 うちはモジュールのインストールはしない。そう言ってるわけでしょ? つまり、お前の場合は、モジュールのインストールしない側の話であって 今話してるのは、モジュールインストールする側の話だよ。 わかりやすく言えば、root持ってないお前が頼むのがroot持ってる俺の会社ってわけだ。 モジュールのインストールという責任あることをcpan使って気軽にやるかよw ちゃんとパッケージ作ってちゃんと管理する。これはディストリがやってるのと同じ方法だ。 なぜディストリはパッケージを使っているかその理由ぐらい分かるだろう。
570 :デフォルトの名無しさん :2011/10/10(月) 18:05:05.09 .net 厚顔無知
571 :デフォルトの名無しさん :2011/10/10(月) 18:50:17.18 .net >>569 > 今は野良パッケージを入れることが前提の話。 えっ?いつからそんな前提の話に変わってたの? > 野良パッケージを入れる場合、cpanで入れてOSの安定性ぶち壊すのか、 えっ?cpanで入れるとOSの安定性がぶち壊れるの? コワ〜イ(><)
572 :デフォルトの名無しさん :2011/10/10(月) 18:55:09.29 .net この手の「なにがなんでも自分が最後に勝ちたい」“プロ”とは絶対一緒に仕事したくないってことだけは確かだなw
573 :デフォルトの名無しさん :2011/10/10(月) 19:04:11.84 .net >>571 > えっ?いつからそんな前提の話に変わってたの? 元は、cpanm使う → そんなの使わねーよ、パッケージ作れよ。が発端。 ちゃんとスレ読んでから出直し。
574 :デフォルトの名無しさん :2011/10/10(月) 19:06:51.87 .net >>571 > えっ?cpanで入れるとOSの安定性がぶち壊れるの? そうだよ。 cpanで入れるとモジュールの整合性がおかしくなる。 モジュールをパッケージで入れた(ディストリがパッケージで提供してる奴) 同じモジュールをcpanで入れた。さてどうなるか。 削除するとき、本当にちゃんと削除できたか、何かが残っていて 予期せぬことが起きる可能性だってある。
575 :デフォルトの名無しさん :2011/10/10(月) 19:23:10.53 .net モジュールをパッケージで入れないから問題ない。
576 :デフォルトの名無しさん :2011/10/10(月) 19:25:59.06 .net そういうときこそlocal::libだな
577 :デフォルトの名無しさん :2011/10/10(月) 19:34:20.56 .net 入れないじゃなくて、 入れられないの間違いでしょw 自分専用のマシン用意してもらえないとかで。
578 :デフォルトの名無しさん :2011/10/10(月) 20:33:05.15 .net パッケージ管理の方こそ信用ならん。 インストールは全部makeで、Perlのモジュールはcpan。
579 :デフォルトの名無しさん :2011/10/10(月) 20:41:09.84 .net >>570 なんで信用ならんの?
580 :デフォルトの名無しさん :2011/10/10(月) 21:16:17.19 .net debianの場合だと 往々にして妙にバージョンが古くて それがトラブルの元になったりするから とか?
581 :デフォルトの名無しさん :2011/10/10(月) 21:34:07.52 .net それはパッケージの問題じゃねーよw
582 :デフォルトの名無しさん :2011/10/16(日) 21:52:24.92 .net プロでもアマでもインストールは手動で行ってこそ、把握や管理が楽になる
583 :デフォルトの名無しさん :2011/10/16(日) 22:18:05.00 .net Encodeの使用者って少ないって本当? ネットにも本にも紹介されてるんだけど、実際に現場で使われてる のは確かに見たことないんだよね。
584 :デフォルトの名無しさん :2011/10/16(日) 23:23:37.06 .net 「プロ」の次は「現場」ktkr じゃあ現場でEncodeの代わりに何使ってるんだよw
585 :デフォルトの名無しさん :2011/10/17(月) 00:25:08.22 .net 変換しないから何も使ってないktkr
586 :デフォルトの名無しさん :2011/10/17(月) 03:28:14.22 .net 文字コードが混在してるわけじゃないので使用してませんが?
587 :デフォルトの名無しさん :2011/10/17(月) 04:57:36.37 .net それは Encodeの使用者が少ない んじゃなくて Encodeが必要になるような局面が少ない っていうことか。 それならわかる。
588 :デフォルトの名無しさん :2011/10/18(火) 05:02:53.39 .net 有用か無用の判断はともかく、ファイルハンドルからファイル名って取得出来ないのかしら? Devel::Peek::Dump($filehandle) みたいに渡すとファイル名が表示されるから、ファイルハンドルから ファイル名が取れるはずなんだけど Devel::Peek を読んでもまったく意味が分からないw ファイルハンドルからファイル名を取得する方法またはサンプルとか知ってるからいらっしゃいますか?
589 :デフォルトの名無しさん :2011/10/18(火) 06:33:09.89 .net 自分の環境(Win7 64bit、ActivePerl5.8)ではファイル名が出ませんが、出力例を貼っていただけます? SV = RV(0x30ea08) at 0x3621bb8 REFCNT = 1 FLAGS = (PADBUSY,PADMY,ROK) RV = 0x26b548 SV = PVGV(0x36a0e38) at 0x26b548 REFCNT = 1 FLAGS = (GMG,SMG) IV = 0 NV = 0 PV = 0 MAGIC = 0x2c6b68 MG_VIRTUAL = &PL_vtbl_glob MG_TYPE = PERL_MAGIC_glob(*) MG_OBJ = 0x26b548 NAME = "$filehandle" NAMELEN = 11 GvSTASH = 0x26b428 "main" GP = 0x36e33b8 SV = 0x26b638 REFCNT = 1 IO = 0x26b688 FORM = 0x0 AV = 0x0 HV = 0x0 CV = 0x0 CVGEN = 0x0 GPFLAGS = 0x0 LINE = 3 FILE = "a.pl" FLAGS = 0x0 EGV = 0x26b548 "$filehandle"
590 :デフォルトの名無しさん :2011/10/18(火) 06:42:23.51 .net >Devel::Peek::Dump($filehandle) みたいに渡すとファイル名が表示される されないだろ % perl -MDevel::Peek -le 'open $fh, q{<}, q{Foo.txt} ; Devel::Peek::Dump $fh' SV = IV(0x7fb632829140) at 0x7fb632829148 REFCNT = 1 FLAGS = (ROK) RV = 0x7fb632803ed0 SV = PVGV(0x7fb63283f830) at 0x7fb632803ed0 REFCNT = 1 FLAGS = () NAME = "$fh" NAMELEN = 3 GvSTASH = 0x7fb632803d38 "main" GP = 0x7fb632406e80 SV = 0x0 REFCNT = 1 IO = 0x7fb632804050 FORM = 0x0 AV = 0x0 HV = 0x0 CV = 0x0 CVGEN = 0x0 LINE = 1 FILE = "-e" FLAGS = 0x0 EGV = 0x7fb632803ed0 "$fh"
591 :デフォルトの名無しさん :2011/10/18(火) 06:42:50.86 .net かぶった、リロードすべきでしたorz...
592 :デフォルトの名無しさん :2011/10/18(火) 07:20:24.27 .net 予防線を張ってるのを百も承知で書くが、ファイル名なんざ <>の時は、$ARGVで、open FHの時は自身が変数なりで 保持してるのに、何でファイルハンドルから取り出したがる人がいるのか不思議だ <>が複数ファイルの場合、$ARGVは最初のファイル名と思い込んでた人もいたけど、昔。
593 :デフォルトの名無しさん :2011/10/18(火) 12:51:21.64 .net すんません FILE の行をファイルハンドルのファイル名と勘違いしてましたw 実行されたスクリプト名だったんですねorz ファイルハンドルからファイル名を知りたいと思ったのは、ファイルハンドルを受け取る関数を作ってたんだけど、 ハンドルからファイル名を知れたらやりたい事が出来るようになるので楽かなと。 そうゆういった意味で聞きました。
594 :デフォルトの名無しさん :2011/10/18(火) 14:57:40.26 .net >>593 その関数でファイルハンドルもファイル名も欲しいんだったら 両方渡してやるようにすればいいのでは
595 :デフォルトの名無しさん :2011/10/18(火) 17:42:24.47 .net スクリプトが約100もあったので、どうにか呼んだ関数側のみで解決できないかなと^-^; 素直にファイル名も渡すように修正しました。 ありがとうございましたm(_ _)m
596 :デフォルトの名無しさん :2011/10/19(水) 00:53:22.39 .net 余計なモジュール入れたくないからEncode使いますが何か
597 :デフォルトの名無しさん :2011/10/19(水) 06:41:15.22 .net ちなみにDump結果を変数にトラップする方法。 use Devel::Peek ; close STDERR ; open STDERR, q{>}, \my $hoge or die ; open my $fh, q{<}, q{hoge.txt} ; Dump $fh ; close $fh ; print $hoge;
598 :デフォルトの名無しさん :2011/10/19(水) 20:16:02.34 .net my $dump = Dump($fh);
599 :デフォルトの名無しさん :2011/10/19(水) 22:38:59.96 .net 試してから書けばいいのに
600 :デフォルトの名無しさん :2011/10/20(木) 23:43:05.41 .net 余計なフラグいじりたくないからJcode使いますが何か
601 :デフォルトの名無しさん :2011/10/21(金) 09:35:11.54 .net 保守されてないモジュールを有り難がってもなあ。
602 :デフォルトの名無しさん :2011/10/21(金) 23:03:40.46 .net COPYRIGHT に you can redistribute it and/or modify it under the same terms as Perl itself. って書いてあるわけで、使われている間はすなわち保守されて いると考える一途なオレでも、本当に保守されている jacode.pl には目移りしている
603 :デフォルトの名無しさん :2011/10/21(金) 23:46:13.18 .net しっつもーん PAR で exe 化したプログラムを有償にする場合って、ソースコードの公開義務ってあるんですか?
604 :デフォルトの名無しさん :2011/10/22(土) 00:53:11.74 .net 買わないオレに公開する必要はない
605 :デフォルトの名無しさん :2011/10/23(日) 13:29:22.89 .net PARはソースコード公開(添付)してるようなものだから必要ないだえお
606 :デフォルトの名無しさん :2011/11/03(木) 15:53:26.69 .net 仕事で使うなら最悪の場合、自分でソース読んで改造・修正する 必要がでてくるので、能力的にも時間的にも自分で何とかなる 範囲のモジュールやライブラリを選ぶことになる。 当時NKFがあったにも関わらず、あえてjcode.plが作られた目的 はそこにあったと思う。NKFの座はいまやEncodeが奪ったが、 jacode.plの利点は当時と同じく今も価値がある。 ...なんてな
607 :デフォルトの名無しさん :2011/11/05(土) 11:02:27.13 .net 目指す方向の違いかも Encode.pm -- 大は小を兼ねる(おとこのこ) jacode.pl -- 小は大を兼ねる(おんなのこ)
608 :デフォルトの名無しさん :2012/01/09(月) 12:12:05.71 .net Padre使っている人ってどれぐらいいる? perl editor使っている人はどれぐらいいる?
609 :デフォルトの名無しさん :2012/01/09(月) 12:34:09.28 .net ${どっちも知らない}++;
610 :デフォルトの名無しさん :2012/01/09(月) 17:20:23.97 .net Perl言語でモンテカルロ・シミュレーションをやって、 ワクチンの効果を分析するっていうのがあるそうなんですけど、 とてもじゃないけど、学習が間に合わない。 Perlの基礎から学習しないといけないし・・・。 はあー、タメイキ・・・
611 :デフォルトの名無しさん :2012/01/09(月) 18:34:18.11 .net >>610 言語は何と何なら使えるの? ある程度の心得があれば大丈夫でしょう。 まるっきりのプログラミング初心者だと確かに大変かもしれないけど… モンテカルロ法自体はそんなに複雑な方法でもないと思うし。 まさか最初から全部自分で書けって訳でもないだろうし。そのまさか?
612 :デフォルトの名無しさん :2012/01/09(月) 19:25:59.38 .net >>610 漢字で書くべき単語を無駄にカタカナで書くおっさんには無理
613 :デフォルトの名無しさん :2012/01/09(月) 20:25:52.92 .net 激しく同意で御座います
614 :デフォルトの名無しさん :2012/01/09(月) 22:59:46.40 .net >>611 プログラミング初心者です。 書けるのはHTMLくらいです。 論文に、前提と結果だけがあるんですけど、 プログラムがどんなか、わかりません。
615 :デフォルトの名無しさん :2012/01/09(月) 23:05:44.42 .net active perlをインストールして、Hello world!だけはできました。
616 :デフォルトの名無しさん :2012/01/09(月) 23:52:44.96 .net 初心者なのかーそりゃ大変だ。 期間がどれくらいあるのかにもよるだろうけどねえ。 まあ周囲にプログラミングの心得のある人がいないか探して ちょっとアドバイスとかいろいろ頼ってみたら。
617 :デフォルトの名無しさん :2012/01/10(火) 00:04:45.05 .net >>612 文学がわかっちゃいないね、キミ
618 :デフォルトの名無しさん :2012/01/10(火) 01:28:19.05 .net >>617 うるせえハゲ
619 :デフォルトの名無しさん :2012/01/15(日) 11:01:32.44 .net >>610 ちょろっと検索しただけでいろいろ出てくるぞ。 でもPerlを覚えるのが目的ではないのだとしたら、おれならAWKで 書くな。その方が覚えることが少ないし、記述するのに機能が足り ないってこともないと思う。もしどうしてもPerlでっていうならば 書き終わってから a2p でPerlスクリプトにすればいい。
620 :デフォルトの名無しさん :2012/01/15(日) 13:05:04.45 .net AWKでネットワーク通信できるの?
621 :デフォルトの名無しさん :2012/01/15(日) 17:28:55.42 .net 何だ?ネットワークのネの字もなかったのにいきなり高度な... ネットワークとモンテカルロ法は別物だから切り離したほうが よくね?まさかGUIも必要だとか言いださないよな?一個ずつ 駒を進めようぜ。
622 :問題です :2012/01/18(水) 03:41:34.72 .net CP932の文字コードのみを使い、下の処理を実現してください。 モジュールは全て使えないものとします。 問1) まんじゅうこわい 難易度:★☆☆ (1-A)のように$matcherに文字列が設定されていています。 (1-B)の$textを走査して、(1-C)のように$matcherの内容が 最初に含まれる行の行数を表示してください。 行数は1から始まるものとします。 (1-A) my $matcher = '饅頭怖い'; (1-B) my $text = <<'EOL'; 饅頭怖くない。 これは良い饅頭。 従って饅頭怖い。 EOL (1-C) 3
623 :問題です :2012/01/18(水) 03:42:03.43 .net 問2) パスの分割 難易度:★★☆ (2-A)のように$pathにパスが設定されていています。 ドライブ名、ディレクトリの各階層名、ファイル名を分割して (2-B)のように表示してください。 (2-A) my $path = 'C:\メモ\饅頭怖いよ\full.txt'; (2-B) C: メモ 饅頭怖いよ full.txt
624 :問題です :2012/01/18(水) 03:42:27.39 .net 問3) 裏から覗く? 難易度:★★☆ 正規表現を使い、(3-A)の$textの中の「表」を「裏」に置換して、 (3-B)と同じ内容を表示してください。 (3-A) my $text = '\\表\\\助\\封\\呂\\表\\\'; (3-B) \裏\助\封\呂\裏\
625 :デフォルトの名無しさん :2012/01/18(水) 20:30:24.83 .net 宿題は自分でやりましょう
626 :デフォルトの名無しさん :2012/01/20(金) 00:56:22.05 .net # 問1) まんじゅうこわい 難易度:★☆☆ my $matcher = '饅頭怖い'; my $text = <<'EOL'; 饅頭怖くない。 これは良い饅頭。 従って饅頭怖い。 EOL @_ = split(/\n/,$text); my $i = 1; for(@_){ if(/($matcher)/){ print $i, "\n"; } $i++; } __END__ ※ このスクリプトは jperl を使って実行します
627 :デフォルトの名無しさん :2012/01/20(金) 00:58:15.41 .net # 問2) パスの分割 難易度:★★☆ my $path = 'C:\メモ\饅頭怖いよ\full.txt'; $path =~ s/\\/\n/g; print $path, "\n"; __END__ ※ このスクリプトは jperl を使って実行します
628 :デフォルトの名無しさん :2012/01/20(金) 00:58:52.58 .net jperlなんて今更どうやって用意するのよw
629 :デフォルトの名無しさん :2012/01/20(金) 01:01:19.90 .net # 問3) 裏から覗く? 難易度:★★☆ my $text = '\\表\\\助\\封\\呂\\表\\\'; while($text =~ /([\x81-\x9F\xE0-\xFC][\x40-\x7E\x80-\xFC]|[\x00-\xFF])/g){ if($1 eq '表\'){ print '裏'; } else{ print $1; } } __END__ ※ このスクリプトは perl を使って実行します perl と jperl の使い分けがポイントです。 授業で教えましたよね? それと宿題を2チャンネルで行うのは今後、禁止いたします。
630 :デフォルトの名無しさん :2012/01/20(金) 01:03:28.68 .net >>628 ちゃんと授業を聞いていましたか? ベクターにあると説明したはずです。
631 :問題です :2012/01/20(金) 03:41:59.47 .net >>629 正規表現で置換してないので、間違いです。 それと、jperlとお幸せに。
632 :デフォルトの名無しさん :2012/01/20(金) 21:22:29.16 .net べくたーwwwww
633 :へたくそ :2012/01/20(金) 21:37:23.75 .net 問1) my $matcher = '饅頭怖い'; my $text = <<'EOL'; 饅頭怖くない。 これは良い饅頭。 従って饅頭怖い。 EOL my $i = 1; foreach (split(/\n/,$text)){ if (/\Q$matcher\E)/){ print("$i\n"); last; } $i++; } 問2) my $path = 'C:\メモ\饅頭怖いよ\full.txt'; my $char = '(?:[\x00-\x7F\xA1-\xDF]|[\x81-\x9F\xE0-\xFC][\x40-\x7E\x80-\xFC])'; foreach ($path =~ /$char/go){ print( ($_ eq '\\') ? "\n" : $_); } 問2) my $path = 'C:\メモ\饅頭怖いよ\full.txt'; $path =~ s/([\x81-\x9F\xE0-\xFC][\x40-\x7E\x80-\xFC])/\1?/g; $path =~ s/\\(?!\?)/\n/g; $path =~ s/\?//g; print($path"\n");
634 :へたくそ :2012/01/20(金) 21:38:57.63 .net 問3) my $text = '\\表\\\助\\封\\呂\\表\\\'; $text =~ s/([\x81-\x9F\xE0-\xFC][\x40-\x7E\x80-\xFC])/?\1?/g; $text =~ s/\Q?表?\E/裏/g; $text =~ s/\?//g; print("$text\n");
635 :先生より :2012/01/20(金) 21:57:35.26 .net 何人かの生徒から知らせを受けて、まさかと思いここをアクセスしたら 問題がそのまま掲載されていて、驚いています。 ここに掲載された回答を書いたひとは配点しませんので、そのつもりで いてください。 問題を載せた君は月曜日に職員室に来てください。誰かは大体分かって います。
636 :先生より :2012/01/20(金) 22:10:10.58 .net >>631 【正規表現を使い、(3-A)の$textの中の「表」を「裏」に置換して、】 「正規表現で置換する」とは言っていません。条件は、 1. 正規表現を使うこと 2. 置換すること です。 あわてずに問題を読みましょう。 あ、それと君も職員室に来てください。
637 :デフォルトの名無しさん :2012/01/20(金) 22:11:14.75 .net 1.性器表現を使うこと 2.痴姦すること ですね!
638 :デフォルトの名無しさん :2012/01/20(金) 22:15:09.53 .net 下ネタは5.8のほうでやってください。そっちに好きなひとがいるんで。
639 :先生より :2012/01/20(金) 23:39:20.06 .net 誰も名のらなかった場合は、全員を減点します。 校長先生には許可をもらいました。 おや?そうなると進級できないひとがでてきそうですね。 もしかして、書き込んだのは...
640 :問題です :2012/01/21(土) 12:51:49.27 .net >>633-634 グッジョブでした。
641 :答え :2012/01/21(土) 12:53:34.05 .net 問1) '怖い'(\x95|\x82\xA2)にはバーティカルバーが含まれるため、 正規表現でマッチさせると'饅頭怖い'は'い'(\x82\xA2)を含む文字列にマッチする。 解決するには、メタキャラクタをクォートしてリテラルキャラクタにするか、 正規表現は忘れてindex()を使う。 my $matcher = '饅頭怖い'; my $text = <<'EOL'; 饅頭怖くない。 これは良い饅頭。 従って饅頭怖い。 EOL my $cnt = 1; foreach(split /^/, $text) { if (/\Q$matcher\E/) { print $cnt, "\n"; last; } $cnt++; }
642 :答え :2012/01/21(土) 12:54:14.19 .net 問2) '饅頭怖いよ'の'饅'(\xE9\\)の2バイト目にバックスラッシュが含まれるので、 そのままsplit(/\\/, $path)すると'\xE9'と'頭怖いよ'に分割されてしまう。 split(/(?<![\x81-\x9f\xe0-\xfc])\\/, $path)では、 'モ\\'(\x83\x82\\)と'よ\\'(\x82\xE6\\)が分割できなくなる。 解決するには、頭からデータの並びを調べる。 my $path = 'C:\メモ\饅頭怖いよ\full.txt'; my $cp932 = qr/(?:[\x00-\x80\xa0-\xdf\xfd-\xff]|[\x81-\x9f\xe0-\xfc][\x40-\x7e\x80-\xfc])*?/; print($1, "\n") while($path =~ /\G($cp932)\\/gc); print($1, "\n") if ($path =~ /(.+)$/g);
643 :答え :2012/01/21(土) 12:54:50.53 .net 問3) 漢字1バイトズレ問題。 '表'(\x95\x5C)を'裏'(\x97\xA0)にs/表\/裏/gで置き換えると、 '助\\'(\x8F\x95\x5C)が、"女\xA0"(\x8F\x97\xA0)に置き換えられ、 '封\\'(\x95\x95\x5C)が、"風\xA0"(\x95\x97\xA0)に置き換えられる。 解決するには、頭からデータの並びを調べる。 my $text = '\\表\\\助\\封\\呂\\表\\\'; my $cp932 = qr/(?:[\x00-\x80\xa0-\xdf\xfd-\xff]|[\x81-\x9f\xe0-\xfc][\x40-\x7e\x80-\xfc])*?/; $text =~ s/\G($cp932)表\/$1裏/g; print $text; EUC-JP版のズレ対策はPerlメモさんにあります。 http://www.din.or.jp/~ohzaki/perl.htm#JP_Match
644 :答え :2012/01/21(土) 13:25:14.16 .net コードはTMTOWTDIってことで。 こんな面倒なことをやっても、このコードはCP932専用。 EUC-JPかUTF-8に変更されると書き直しに迫られる。 Perlの三大美徳の怠惰を忘れずに。
645 :デフォルトの名無しさん :2012/01/21(土) 14:32:17.48 .net で本当の問題は、これをEncodeモジュールを使って CP932、EUC-JP、UTF-8全て対応にするという物。
646 :デフォルトの名無しさん :2012/01/21(土) 21:47:42.75 .net JperlじゃEncodeモジュール使えないじゃん。確かにそれは問題だな。
647 :デフォルトの名無しさん :2012/01/21(土) 21:54:33.42 .net なんだ、やっぱりダメなんだなEmcodeは
648 :デフォルトの名無しさん :2012/01/21(土) 22:46:51.21 .net # 問3) 裏から覗く? 難易度:★★☆ # my $text = '\\表\\\助\\封\\呂\\表\\\'; ← 表の後ろに \ が3つ my $text = '\\表\\助\\封\\呂\\表\\'; $text =~ s/表/裏/g; print $text; __END__ ※ このスクリプトは jperl を使って実行します 問題では変数 $text の表の後ろに3つの \ があるためにおかしな ことになっていますが、現実の問題としては2つの \ ということに なるでしょう。 こうすることで正規表現による置換ができます。
649 :デフォルトの名無しさん :2012/01/22(日) 11:29:56.92 .net 英語版のperlで日本語を処理しようとするのはナンセンスです。 すでにjperlがあるわけですから賢く使い分けましょう。また国際化 対応していれば日本語も扱えるとのたまう輩もおりますが、軽く 受け流して、可能なら5.8スレの方に誘導してあげましょう。 面倒な場合はスルーでも構いません。
650 :デフォルトの名無しさん :2012/01/22(日) 11:47:22.87 .net Encode使う場合はこうかな use Encode; my $cp932 = find_encoding( 'cp932' ); my $um = $cp932->decode( $matcher ); my @text = split( "\n", $cp932->decode( $text ) ); for my $i ( 0.. scalar( @text )-1 ) { next unless ( shift( @text ) =~/$um/ ); print $i + 1 . "\n"; last; } 問題がつまらんね
651 :デフォルトの名無しさん :2012/01/22(日) 11:55:28.79 .net まあ、義務教育の中等学校だからそんなもんだね
652 :デフォルトの名無しさん :2012/01/22(日) 11:56:43.81 .net jperlにしがみつく人が屁理屈で問題作ってるんだよ もし学校で「jperlだけを使いなさい、jperlを前提としたプログラムを作りなさい」って 教育してるなら日教組並みの害悪
653 :デフォルトの名無しさん :2012/01/22(日) 12:22:14.65 .net >>652 今更jperlは無いわ。 目が節穴じゃね?
654 :デフォルトの名無しさん :2012/01/22(日) 12:35:43.12 .net >>650 モジュールを使えるのなら、レガシーなスクリプトに対してはencodingを使える。 use encoding qw(cp932); ... my $cnt = 1; foreach(split /^/, $text) { if (/$matcher/) { print $cnt, "\n"; last; } $cnt++; }
655 :デフォルトの名無しさん :2012/01/22(日) 12:38:11.18 .net いまさらEncodeモジュール絡みの話をしているPerlの人って……
656 :デフォルトの名無しさん :2012/01/22(日) 12:44:34.84 .net >>645 モダンにいくなら、UTF-8で書いて、こんな感じ。 use utf8; use Encode::Locale; use open qw(:encoding(locale) :std); ...
657 :デフォルトの名無しさん :2012/01/22(日) 13:19:32.77 .net ヒント:ヒューマンリソースとムーアの法則について
658 :デフォルトの名無しさん :2012/01/22(日) 14:08:47.05 .net >>657 ホウホウそれで
659 :デフォルトの名無しさん :2012/01/22(日) 17:50:00.68 .net たくさんの回答、ありがとうございました。 中には学校で習ったものよりも高度なものがあり、パールの苦手なぼく にもとても参考になりました。でも将来プログラマになるわけではない ので簡単なJPERLで十分かな?と思っています。 明日、出頭し処分を受けることになりそうですが、あまり後悔はして ません。ここでいろいろ勉強になったからです。 ところで職員室は第一ですか?それとも第二のほうがいいですか?
660 :デフォルトの名無しさん :2012/01/22(日) 18:33:21.22 .net 展開がキチガイ過ぎて言葉が出ない…
661 :デフォルトの名無しさん :2012/01/22(日) 18:52:48.71 .net jperlは別に簡単ではないぞ。特定の用途の場合にのみちょっと便利なだけだ。
662 :先生より :2012/01/22(日) 21:23:13.30 .net 第二です。8:40までにくること!
663 :デフォルトの名無しさん :2012/01/22(日) 21:31:34.74 .net 承知しました
664 :デフォルトの名無しさん :2012/01/22(日) 22:03:07.77 .net 便利だったら無理に勧めなくたって、みんな使い出すんだろうね 他の何かをdisるのはなぜか危機感を感じてる証拠だろうね
665 :デフォルトの名無しさん :2012/01/22(日) 23:16:21.58 .net >>659 ああ、一人で幸せに暮らしてくれ。 JPerl(Perl 5.003_07)というCPANどころかData::Dumperすら無いシロモノを他人に勧めるな。
666 :デフォルトの名無しさん :2012/01/22(日) 23:17:03.60 .net そりゃあ、上のスクリプトを比べてみれば一目瞭然だもの。
667 :デフォルトの名無しさん :2012/01/22(日) 23:26:02.71 .net 道具を使うのは人間なんだから、使いやすいものをそのときどきによって 選択すればいいよね。あるから使わないといけないと考えるのは本末転倒 で無駄な苦労をすることになるよね。でもまあご自由にどうぞ。
668 :uy :2012/01/23(月) 17:02:41.36 .net 可愛そうに・・・・・・ >>667 最近、誰の受け売りだか知らんがこういう事言ってる奴いるけど はっきりいって、C#.NET知ってればほとんどのことは出来るし、 ようは言語同士の連結の仕方を知っているかどうかだけど、大丈夫か? Rubyだけ使っていたって、そこから.NETやC呼び出せばほぼ何でも出来るようになるわけだけど Perl使いさんたちは、言語同士の連結のやり方 わかっていますか?
669 :デフォルトの名無しさん :2012/01/23(月) 17:07:17.50 .net へえC#.NETって環境を問わずどこでも使えるんだー知らなかったよ 言語同士の連結ってどうやるの?連携のさせ方ならいろいろあるだろうけど連結は聞いたことなかったな
670 :uy :2012/01/23(月) 17:59:27.39 .net 機械語で想像できないから 連結って言葉に違和感を覚えるのか それとも、 dllファイルを別々にしたときの挙動すら、わかっていないのか さすがにPerl使ってる奴は井の中の蛙という言葉がふさわしい・・・ ああ可愛そうに ひたすら可愛そうに
671 :uy :2012/01/23(月) 18:00:28.23 .net この手のバカ スクリプト言語しか出来ないタイプには多いだろうな perlより、まずコンピューターの基礎からやり直したほうがいいのではないか
672 :デフォルトの名無しさん :2012/01/23(月) 19:03:38.76 .net C#.NETでなんでもできるとかほざいてる奴が 井の中の蛙だのコンピューターの基礎だの烏滸がましいわw
673 :デフォルトの名無しさん :2012/01/23(月) 19:04:09.63 .net >>668 PerlはモジュールをCで書くことも可能であれば、Cから呼び出すことも可能だよ。 ActivePerlならWIndowsスクリプトファイル(wsf)でVBやJScirptと混ぜ書きもできる。 でさ、アセンブラを20年ぐらいやってるとさ、ポストデクリメント演算子に 違和感を覚えるんだけどさ、あれどう思う? ああ、それと>>667 の意見には同意です。
674 :デフォルトの名無しさん :2012/01/23(月) 21:30:12.88 .net えさは足りてるみたいなので与えないでください
675 :uy :2012/01/24(火) 00:02:01.90 .net >>673 ほら突っついたらでてきた 井の中の蛙wwwww そんなの出来ることは当たり前なのに どうした? どこか痛いのか? 目的の為に言語を変えるか、 俺が言いたいのは お前たち程度のレベルで、目的の為に最適な言語がいつから選べると慢心しているのかって事だ CGIを書くのにCは使わない? そんなのは当たり前で 段階はその次だ CGIを書くためにどのWeb言語を使うのか? その選択がお前たちは出来ないから・・・・こんなスレにいるんだろwwwwwwwwバカかwwwwwww perl一生つかっていろよwwwwwwwwwwwwwwwwwwWWWWWWWWW
676 :デフォルトの名無しさん :2012/01/24(火) 01:16:41.40 .net 早い話が、結局何をやってもものに出来なかった人の嫉妬ですね。
677 :デフォルトの名無しさん :2012/01/24(火) 01:31:36.16 .net nyは専ブラであぼーんだな
678 :デフォルトの名無しさん :2012/01/24(火) 01:54:43.15 .net 世の中にはCで書かれたCGIもあるんだぜ しかも身近に
679 :デフォルトの名無しさん :2012/01/24(火) 08:33:13.29 .net 中国人が抱く外国イメージ 「韓国人は横柄な歴史ドロボー」 中国にとってトラブルの絶えない韓国へのイメージで最も支持を得たのは「歴史ドロボー」だった。 7.6%で1位となった「歴史の剽窃(ひょうせつ)」について、環球網は「端午の節句や孔子を韓国の文化遺産にするなど、 韓国が中国の歴史を盗んだ」ことが背景にあると解説した。また、韓国人が常に自国製品を「世界一」「最先端」と「自称」する 韓国メディアにより「横柄」(7.3%)が2位となったと紹介した。 第3位は「整形」(6.6%)だった。(「整形」が「韓国ドラマ」3.7%、「美女」2.9%を上回った) このほか「ケチ」「過激」「民族主義」が3−6%。韓国の「家電・デジタル製品」は1−2%にとどまった。 http://news.searchina.ne.jp/disp.cgi?y=2012&d=0118&f=national_0118_074.shtml
680 :デフォルトの名無しさん :2012/01/24(火) 19:43:02.60 .net index.cgiを開いたらバイナリだったでござるの巻
681 :デフォルトの名無しさん :2012/01/25(水) 17:49:38.95 .net ぶっちゃけもはやスクリプト自体はutf-8で書くことが多くなってるし jperlとか害悪としか思わない
682 :デフォルトの名無しさん :2012/01/25(水) 22:47:18.47 .net 早く社会に出て役立つプログラム作ろうな。
683 :デフォルトの名無しさん :2012/01/26(木) 00:24:25.93 .net 企業は競争力や応用力を判定している 薀蓄は相手にしていない
684 :デフォルトの名無しさん :2012/01/27(金) 01:25:11.60 .net ぶっちゃけ単にエンタープライズ環境を知らないだけなんだろうな 10年、20年と動かすソフトウェアを流行りに合わせて書くわけには いかんからな
685 :デフォルトの名無しさん :2012/01/27(金) 02:22:30.64 .net Java4が稼動してそうで怖い話だな。
686 :デフォルトの名無しさん :2012/01/27(金) 08:36:33.85 .net Java4のソースコードなら 今も最新Javaで普通に動く。
687 :デフォルトの名無しさん :2012/01/27(金) 13:36:37.34 .net >>686 コーディング規約でJava1.4縛りってあるものなの? Java5以降の機能は使用禁止みたいな。
688 :デフォルトの名無しさん :2012/01/27(金) 17:46:45.90 .net >>687 ジェネリックス禁止とか、for-each文禁止とかは企業なら普通にあるだろ。 互換性もそうだが、Javaオタクを排除して誰でも保守できるようにするという 重要な側面がある。 まあ、Java5、Java6で初めて追加された有用なクラスライブラリもあるから、 それはあくまでコーディング規約上の問題で、コンパイルと実行にはJava6を 使っているというケースもあるが。 ……スレ違いだがマジレスしてしまった。
689 :デフォルトの名無しさん :2012/01/27(金) 21:00:28.98 .net >>688 なるほど、過去のバージョンに固定しての開発は普通にあるのね。 ジェネリクスは置いといて、auto-boxingが無いだけでも面倒そう。
690 :デフォルトの名無しさん :2012/01/31(火) 09:38:20.86 .net ActivePerlでWin32::GuiTestを使いたいのですが PPMに出てきません どこに有りますか?
691 :デフォルトの名無しさん :2012/01/31(火) 20:25:29.54 .net >>690 はずしているかもしれませんが、guitestまたはwin32-guitestで 検索してみてください。Win32::gutestでは出てきません。 あと、ppmが走っているようなので大丈夫のようですが、ユーザー名に 日本語を使用するとppm関係でこけた記憶があります。
692 :デフォルトの名無しさん[ :2012/01/31(火) 21:17:48.24 .net >>691 ありがとうございます 試してみます
693 :デフォルトの名無しさん :2012/01/31(火) 23:18:31.55 .net >692 なんか、はずしてるようなので調べてみました。どうやら、 リポジトリの追加とかが必要なようです。 実際、リポジドリの登録はした覚えがあります。 http://cz500.com/diary/?20110310 からの抜粋(コピペしやすかったので採用) 1.スタート>ActivePerl>Perl Package Manager を起動 2.メニューからEdit>Preferences>Repositoriesタブを開く 3.Add Repositoryダイアログでリポジトリを追加 1.Name cpan 2.Location http://cpan.uwinnipeg.ca/PPMPackages/10xx/ 3.と入力してAddボタンをクリック。暫くするとRepositoriesタブにcpanが増えます。 4.OKをクリックしてPreferenceを閉じます。 ホームページによっては少し違いがあり、当方では追加済みなので、 検証することができません。うまくいかなかったら、activeperl cpan ppm リポジトリの追加あたりでググって見てください。 ミスリードしたみたいですいません。
694 :デフォルトの名無しさん :2012/02/06(月) 10:06:28.10 .net 以下のスクリプトで200MB以上の動画をダウンロードしようとすると 512KBのファイルしか落ちません(Win7 32bitにStrawberry Perlです) どうすれば全部落とせますか? use strict; use warnings; use LWP::Simple; use open ':std'; use Tk; use Win32::Clipboard; use LWP::UserAgent; use HTTP::Request; my $clip = Win32::Clipboard(); my $url = $clip->Get(); print "url=[$url]\n"; my $ua = LWP::UserAgent->new; my $req = HTTP::Request->new( GET => $url ); my $proxy; $proxy = "http://XXX.XXX.XXX.XXX:8080 "; print "proxy=[$proxy]\n"; $ua->agent("perl-wget"); $ua->proxy( 'http', $proxy );
695 :694 :2012/02/06(月) 10:07:01.90 .net $req->header( 'X-Header1' => 'hoge', 'X-Header2' => 'foobar', ); my $flv_file = "c:\\pl test\\xyz.flv"; my $res = $ua->request( $req, $flv_file ); my $head = $res->headers_as_string; print "headers_as_string=[$head]\n"; 実行結果 url=[http://XXX.XXX.XXX/flv/XXX/XXX/XXX/XXX/XXX/XXX.flv] proxy=[http://XXX.XXX.XXX.XXX:8080] headers_as_string=[Cache-Control: no-store, no-cache, must-revalidate Connection: close Date: Mon, 06 Feb 2012 00:46:54 GMT Via: 1.1 localhost:8080 (squid/2.7.STABLE7) Accept-Ranges: bytes Server: Apache Content-Length: 282093419 Content-Type: application/octet-stream Client-Date: Mon, 06 Feb 2012 00:51:02 GMT Client-Peer: XXX.XXX.XXX.XXX:8080 Client-Response-Num: 1 Content-Disposition: filename=XXX.flv X-Cache: MISS from localhost X-Cache-Lookup: MISS from localhost:8080 X-Powered-By: PHP/5.2.17 ]
696 :デフォルトの名無しさん :2012/02/06(月) 22:52:57.31 .net proxy経由しないでも同じ結果か等の原因の切り分けはしたの?
697 :デフォルトの名無しさん :2012/03/04(日) 19:10:14.90 .net .(ピリオド)を_(アンダースコア)に変換しようとして、\マークを付け忘れたので、 ファイルの全てが_で埋め尽くされたファイルが出力されたorz
698 :デフォルトの名無しさん :2012/03/05(月) 00:59:57.32 .net 便箋w
699 :デフォルトの名無しさん :2012/08/04(土) 13:16:49.80 .net Perlコード汚すぎる。
700 :デフォルトの名無しさん :2012/08/04(土) 13:29:41.35 .net 俺なんかそのまま納品して、夏休みとった年があるw^_^
701 :デフォルトの名無しさん :2012/10/17(水) 18:25:33.11 .net 文字列の処理が容易である とくに文字列のパターンマッチ能力に優れている 動的データの処理に優れている OSとの連携に強い(OSのコマンド、GUIツールキット) インタプリタ型である (スクリプト言語に共通する特徴) スクリプト言語のいろは|Cマガジン2000年10月号
702 :デフォルトの名無しさん :2012/10/20(土) 14:50:00.72 .net > 文字列の処理が容易である もちろん「2000年10月の時点では」っていう意味だろうけどねw CがC++になって迷走するのと同様、Perlも赤の他人が拡張すると迷走して その後は...
703 :デフォルトの名無しさん :2012/10/24(水) 02:32:36.90 .net >>699 もともと、アドホックな使い捨てのコードを書くための言語だからなー。 コードの保守性とか再利用性とか始めたらダメ。 可読性なんて考えずに、組み易い書き方で手早く作って、 パッと使って、そんでおしまい・・・というのが正しい使い方。
704 :デフォルトの名無しさん :2012/10/25(木) 11:28:52.33 .net 保守性・再利用性ならCOBOL一択だよね!!
705 :デフォルトの名無しさん :2012/10/26(金) 01:46:36.75 .net 同じような仕事にしか使わんからな。
706 :デフォルトの名無しさん :2012/11/10(土) 11:32:03.17 .net 今の時代ならDSLといえば COBOLのすばらしさが分かるだろう。
707 :デフォルトの名無しさん :2012/11/10(土) 13:11:12.89 .net read うんたらかんたら at end * EOF時の処理 not at end * 読めたときの処理 end-read のファイル入力構文は初めて見たときカルチャーショックだったな
708 :デフォルトの名無しさん :2012/11/17(土) 14:18:46.56 .net 言語が違えばやり方は違うんだから想定の範囲内だがな むしろC言語系の方が後からできたわけだから(いい意味で)カルチャーショック だったが いずれにしても遠い過去の話だな、おじいさんよ
709 :デフォルトの名無しさん :2012/11/17(土) 17:59:06.65 .net >>708 いやJavaを先にやってたから 後でCOBOLのコード見たときにカルチャーショックだったんよ EOFを返してもらうんでなく、構文としてやるってのがね
710 :デフォルトの名無しさん :2012/11/17(土) 20:21:00.74 .net でもパソコンじゃあC言語の前にBASICがあって、それって いま言ってるCOBOL風になってなかったっけ? 709はパソコンの創世記を知らない若い世代なのかな
711 :デフォルトの名無しさん :2012/11/17(土) 21:32:41.75 .net >>710 昔を知らないのは当たり…なのかな、自分が使ったことのあるBASICは VBとか、N88なら互換系BASICくらい (PC98でのN88も「その時点で既に年代物として」一度だけ触ったことはある) でもそれらもC系と同じくEOF()関数みたいなので判定する形式だったような… EOF判定自体をブロック構文にしてしまってるのは今のところCOBOL以外見たことないっす
712 :デフォルトの名無しさん :2012/12/03(月) 14:49:49.57 .net 初心者を育てるのがPHP、初心者を袋叩きにして人格否定までするのがPerl
713 :デフォルトの名無しさん :2012/12/03(月) 23:15:25.81 .net PHPもPerlもただのプログラミング言語だから育てたりとか袋叩きにしたりとかはしない。 というかできない。 なにか違う次元の違うしろもののことを言ってるんだろうけど異次元の住人の話はよくわからんな。
714 :デフォルトの名無しさん :2012/12/04(火) 00:49:41.86 .net 「同じ問題でも解き方は人によって違っていい」ってのが Perl の思想だからな。 人格否定なんてありえない。
715 :デフォルトの名無しさん :2012/12/04(火) 05:53:42.12 .net 解き方は人によって違っていいが 書き方は統一しろ。
716 :デフォルトの名無しさん :2012/12/05(水) 08:28:36.86 .net >>715 コード整形ツールを使いたまえ
717 :デフォルトの名無しさん :2012/12/15(土) 21:53:54.04 .net 初心者を袋叩きにして人格否定までするのはモダンPerl。 いわゆる普通のPerl利用者はそんなことはしない。混同しないこと。
718 :デフォルトの名無しさん :2012/12/16(日) 00:08:21.80 .net > 初心者を袋叩きにして人格否定 誰のこと? そんな人いないよ。
719 :デフォルトの名無しさん :2013/01/12(土) 17:48:21.31 .net え?
720 :デフォルトの名無しさん :2013/01/13(日) 04:08:36.23 .net >>718 ←何言ってんのコイツwww
721 :デフォルトの名無しさん :2013/01/20(日) 03:19:14.74 .net >>717 トロールのトロールのトロールみたいなコミュニティだよね。モダンperlって
722 :デフォルトの名無しさん :2013/01/28(月) 23:19:32.03 .net いろいろ複雑なテキスト解析をして、最終的にExcelのファイルにしたい 要は、既にあるExcelのファイルとフォーマットは同じで、 中に書いてあるテキストだけ入れ替える感じ どういうステップを踏むのがいちばん楽だろう
723 :デフォルトの名無しさん :2013/01/28(月) 23:54:01.34 .net 一回こっきりならコピペだな
724 :デフォルトの名無しさん :2013/01/29(火) 00:06:13.05 .net 一回なら間違いなくそうするけど、 多分、100近くある
725 :デフォルトの名無しさん :2013/01/29(火) 00:37:27.03 .net csvでいいならcsvを吐き出せばいいが Excelブックを作りたいならPerlでできるのかそれ
726 :デフォルトの名無しさん :2013/01/29(火) 03:02:33.78 .net ファイルのi/oでexcelのシートを作るのは面倒だから、 use Win32::OLE::Const 'Microsoft Excel'; で、ExcelのセルいじっちゃいなYO
727 :デフォルトの名無しさん :2013/01/29(火) 08:21:49.20 .net Perl使いをなめるなよ CPANにはExcelファイルを出力するモジュールがいっぱいある ttp://search.cpan.org/search?query=Excel&mode=all
728 :デフォルトの名無しさん :2013/01/29(火) 19:31:23.69 .net ダイレクトでxlsを吐くんじゃなくて、 一旦テキストに出して、そこからxlsを作るExcelマクロを走らせるのが楽 全部perlでとか、全部Excelでやろうとすると、手間が増える上に保守性も落ちる
729 :デフォルトの名無しさん :2013/02/17(日) 02:01:28.40 .net うん、Excelファイルはすごく複雑 MS以外が不具合なしに扱えるものじゃない。 絶対バグでハマる。
730 :デフォルトの名無しさん :2013/02/17(日) 09:22:06.54 .net 中間ファイルのフォーマットをきっちり決めて、 Excel 側で、マクロなりインポートなりで、 データ取り込む手段を確立して、 それに合わせてファイルを生成するのがおそらく一番間違いが少ない。
731 :デフォルトの名無しさん :2013/02/17(日) 13:36:57.25 .net >>722 は結局どうやったんだろうね
732 :デフォルトの名無しさん :2013/02/23(土) 00:52:05.88 .net Perlでテキスト⇒テキスト変換をして UWSCでExcelに取り込む 実はUWSC内で上のPerlも実行するから一発で処理が終わる
733 :デフォルトの名無しさん :2013/04/30(火) 09:44:36.72 .net ペルシャ湾で天然真珠調査 世界遺産「復活」に協力 2013年4月30日 09時20分 http://www.chunichi.co.jp/s/chuspo/article/2013043001001486.html 日本の養殖真珠の生産により20世紀前半から天然真珠産業が衰退したペルシャ湾で、 日本がバーレーンと協力し、真珠貝の生息調査に乗り出すことが30日、分かった。 日本の水産技術を使って真珠貝を増やし、伝統産業を復活させるのが狙い。 独立行政法人水産総合研究センター西海区水産研究所(長崎市)などが5月中旬から現地調査を始める。 真珠産業はクウェートやアラブ首長国連邦(UAE)などの伝統産業として知られ、 バーレーンの真珠文化は昨年、国連教育科学文化機関(ユネスコ)の世界遺産にも登録された。 日本が真珠産業の復活を手助けすることは産油国との関係強化にもつながる。 (共同)
734 :デフォルトの名無しさん :2013/09/10(火) 00:43:12.74 .net なでしこでいいじゃん
735 :デフォルトの名無しさん :2013/11/03(日) 19:00:39.80 .net お前らにはどう見えるか知らないが俺にはこう見えてるぞ print 誰からも愛されてる元気な女の子 気が利いて周囲に信頼されている グループ行動の時、希に大遅刻をしてしまう if 普段から冷静で状況把握が得意 二人の親友と一緒に行動する事が多い 予想外の事が起こるとパニックに成りやすい elsif リーダをサポートする役割を買って出る好奇心大制な女の子 あたふたしている間に他の子が作業を終らせてくれている事も有る else めったに喋らないが一言で状況を変えてしまう天才型 ifと仲が良く、いつも隣に居る 一日、1回はifと手を繋がないと泣き出す {} 双子の活発な女の子 いつもターゲット(printf)を挟み撃ちにしてほっぺっとほっぺでギューっとする 最後に軽くキスをして誤るのが恒例行事に成っている
736 :デフォルトの名無しさん :2013/11/03(日) 19:02:27.31 .net () 若干、中二病の女の子 頭が良く、成績優秀だが中二病発動中、常識がまさる事が多いので 完全に中二病になりきれていない + 凄く普通な女の子 なんでも出きるが、それ故に目立たない 欠点という欠点も見あたら無い char ちょっとカラフルな女の子 グループ内で中心的存在、だけど、結構な寂しがり屋 周囲からはカッコイイけど2人きっりの時に、後ろから抱き締めたくなる っと、囁かれている open 豪快な性格、隠し事が嫌いで、聞かれたら下着の色まで答えてしまう 裏表ない彼女の性格は周りからは好かれている 授業中でもキスしたいと思ったらキスしたいと叫んで強引キスしようとする。それを周囲が なだめる事もしばしば…欲望に直球なだけかも知れない == 会議でのまとめ役、分析が得意で計算もはやい アニメが大好きで会議中でも時間が来たら勝手に切り上げて帰ってしまう 優秀な人材が居なくなるのは避けたい***は、会議室にテレビを設置したとか… unless doと、、いつも一緒で、犬が大好き 特に柴犬が好きで週に3回は触れ合いランドに出かける 明るい彼女に寄って来るのは何故か大人しい犬ばかり do 犬が大好きな小柄な女性 独特の雰囲気をかもし出している彼女には活発な大型犬が集まりやすい 涎で帽子が湿っている事もしばしば有る unlessからは活発な犬に好かれているのでやきもちを焼かれる事も…
737 :デフォルトの名無しさん :2013/11/03(日) 19:20:30.34 .net >>736 今日一日頑張ったな
738 :デフォルトの名無しさん :2014/02/23(日) 00:44:51.23 .net eq くんを忘れないであげて! 必要不可欠な子なのに、新人さんに中々顔を覚えて貰えないのは不憫すぎるよ!
739 :デフォルトの名無しさん :2015/01/04(日) 23:00:46.21 ID:xcUbwpxr.net active perl は DBD::MySql に対応するつもりは無いの? 古いバージョンでは動作するけど、無償ダウンロードできないし・・・ やる気あんのか?>active
740 :デフォルトの名無しさん :2015/01/22(木) 21:49:15.27 ID:Ciz/VR24.net active perlなんか使ってる奴いるのか
741 :デフォルトの名無しさん :2015/01/26(月) 00:28:29.03 ID:Nas4rFKx.net インストールが楽だ
742 :デフォルトの名無しさん :2015/01/26(月) 07:52:18.18 ID:j1pP3PkZ.net DBD::MySQLはMySQLに同梱されてなかったか?
743 :デフォルトの名無しさん :2015/02/22(日) 11:59:05.28 ID:ER52YIGr.net flex 使うのも場合によってはありかな。
744 :デフォルトの名無しさん :2015/02/23(月) 15:01:38.78 ID:IgyMEIlv.net eval_l => eval('/^AAAAAA/ ? 1 : /^BBBBBB/ ? 2 : ... ') flex_pipe => flex with pipe flex_inline => flex with Inline::C パターン数 10 flex_pipe 16822/s eval_l 72013/s flex_inline 493444/s パターン数 100 eval_l 11036/s flex_pipe 17530/s flex_inline 369581/s
745 :デフォルトの名無しさん :2015/02/27(金) 04:12:53.96 ID:SYx5FGl1.net 最近はWindowsだと Strawberry Perl 使ってるなあ
746 :デフォルトの名無しさん :2015/03/01(日) 10:47:45.22 ID:oCpwaziE.net なにそのPerl
747 :デフォルトの名無しさん :2015/06/06(土) 13:16:02.82 ID:xONP+8H7.net 6/1に公開された5.22で「ダブルダイアモンド演算子」が導入された たとえば perl -e 'while(<>){ ... }' ファイル ファイル ... は引数に指定したファイルの内容を順に処理するが perl -e 'while(<>){ ... }' 'command |' とかやると 'command |' というファイルではなくcommandを実行してその結果を処理してしまう while(<<>>) ならそういうことがない ... 知らなかった(汗) <>自体の仕様を変更してもよかったレベルじゃね?
748 :デフォルトの名無しさん :2015/06/06(土) 16:20:09.81 ID:PUUeW4+U.net 安易に仕様変更とか言う奴は死ぬべき。 前者の仕様に依存した実装だってあり得るんだから
749 :デフォルトの名無しさん :2015/06/09(火) 09:58:53.13 ID:gCwSnWrY.net >>748 Rubyの中の人たちは全滅だな。w 賛成!
750 :デフォルトの名無しさん :2015/06/11(木) 11:47:33.16 ID:KUeCrWwy.net 実際、後方互換性に関してはPerlはいい仕事してる
751 :デフォルトの名無しさん :2015/12/26(土) 09:41:36.35 ID:xkZV8qrf.net Perl6 が出たようです ruby も python もぶっとばせ!
752 :デフォルトの名無しさん :2015/12/28(月) 01:26:56.58 ID:kY09W9+C.net Windowsにgitクライアントをインストールすると Strawberry Perl が変な動作するのは オレだけ?
753 :デフォルトの名無しさん :2016/01/10(日) 13:40:06.62 ID:/ndDSiBm.net 971 名前:名無しさん@七周年[] 投稿日:2006/11/11(土) 00:56:10 ID:M8+ahUZV0 自称スーパープログラマー某 強烈加齢臭 メール見ない メール無視 ドキュメント見ない ドキュメント無視 説明聞かない 説明無視 話聞かない 話無視 ガム→むっちゃー むっちゃー むっちゃー むっちゃー 煎餅→バリバリバリバリバリバリ 菓子パン→モグモグモグモグモグモグモグモグモグモグ カップアイス→むっちゃー むっちゃー ペロペロペロペロ フロアすべてに響き渡る 超ばかでかいくしゃみ 当然手でおさえない 異音と異振動 ドスーン!ドスーン! ドカーン!ドカーン! バコーン!バコーン! ズドン!ズドン! 机が近いとマウスポインターが飛ぶ 誤操作誘発 書類だしたりしまうだけでドカンドカン 30秒ごとに口と鼻から異音 ふんっっ! ふんっっ! 備品破壊 貸与P C 破壊 他人のもの破壊 奴の作ったスクリプトとプログラムは使えない バグ製造機 電話や共有携帯電話 キーボードが油ベタベタ 奴に電話とPCとコンソールは触らせてはいけない
754 :デフォルトの名無しさん :2016/03/29(火) 09:57:20.41 ID:/c8bAcK4.net サッカーブッシュ日本代表日程ぷあたん(しゅっちょうまいくろ教育長交代)春文執行40代売上差額シュガーチョコ https://www.youtube.com/watch?v=NDq1QoJY0nY 宇ドナルドアナリストパワーストーンコーチングとしまえん サッカーブッシュ日本代表日程古本屋よしたけしゅっちょうちょこしゅがー ディーラー税務署天才開発者死亡詰みヨミドクターマイクロサービス不足 サッカーブッシュ日本代表日程ぷあたんシフト光金さかい強制バイト人権侵害問題 春分資源執行ニューヨーク低原価ぼったステーキソルトレイク福岡横浜新橋奴隷課金パチシフト強制バイト問題新潟米センター生残 コスメ24チャリティー隠れ40代生活保護プレイボーイバイトレードいたりあん接待問題 マスコミKARDローンケーオーサービス不足婚活パーティー寄付金執行原発ビジネス FBIチャイニーズタイホテル売上事務所ガチャ決算ガチャキャンペーン(販売報道陣過激派組織向携帯最新情報提供終了 校長発言細心注意ノートン産廃エラー(著作権クレーム中国反応融資高額教育費)(中国捕鯨団体40代社員サッカーコメント 高額入学金ヤフウ新橋大学ヤフウ新橋理事長FX経費 おじや50代資産ガリバズフィード40代エリート
755 :デフォルトの名無しさん :2016/04/09(土) 17:13:17.22 ID:P1lehKRX.net 読みにくいperlコードがある場合はデバッガの機能使おう perl -MO=Deparse スクリプト名 で実行するとperlからそのコードがどういうふうに見えるかが表示される=曖昧な記法じゃなくなるから読みやすくなると思う use strict; use warnings; してなかったり変数やメソッドに適切な命名できてないようなやつは知らんw
756 :デフォルトの名無しさん :2018/03/03(土) 07:18:08.86 ID:cw9gLPBd.net またperlの人気出ないかなー
757 :デフォルトの名無しさん :2018/03/03(土) 13:24:56.59 ID:GGmAMA7z.net Perl6は、期待してたんだけど、どうやら普及しなさそう。 ちょっと試してはみたけど、C系と意外に違ってて、なんか使いにくいんだよなあ。
758 :デフォルトの名無しさん :2018/03/05(月) 10:07:55.39 ID:qTf9YbOJ.net >>756 まあしかし少なくともUNIX系OSではなんでも作れるスクリプトとして根付いてるから中々なくなりはしないと思う。
759 :デフォルトの名無しさん :2018/05/23(水) 20:14:56.26 ID:Au5e7VGg.net 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方 役に立つかもしれません グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』 786Y4
760 :デフォルトの名無しさん :2018/05/23(水) 22:07:07.76 ID:kjJ0wThN.net search.cpanがシャットダウンです
761 :デフォルトの名無しさん :2018/07/04(水) 23:56:05.51 ID:gFgZc5FG.net 8PU
762 :デフォルトの名無しさん :2019/06/08(土) 05:39:12.98 ID:CQrzC4Mf.net 数学用途で久々にperl5で書いた スコープ制限 や use strict など一切なしのぶっきらぼうな書き方 ......完成したコードは変数名などがわかりやすく、例外処理も丁寧な仕上がりだった 保守性重視の書き方しみついたのはなかなか変わらないんだな
763 :763 :2019/06/13(木) 14:47:43.00 ID:/0Hvd4dT.net キャッシュ層の有無も含めて速度もベンチマーク撮りながら 途中でデバッグ用の追跡コードも挟んだりし use strict や warnings 等もつけたり スコープや変数名など仕上げた 書き始めは荒っぽく自由に様々なアプローチを試し デバッグ情報も臨んだ情報が自由に手に入り 望めば保守性の為に厳格に書ける リストの畳み込み計算など無いものもあるが おおむね良い言語だ
764 :デフォルトの名無しさん :2019/06/15(土) 00:55:54.14 ID:dlWE+pCO.net ActivePerlを見限ってついにStrawberryPerlにしたぜ! 26.3がやっと半年ぶりに更新された 30が出てるのに28.1になるとかわけわからん せめて28.2にしろよ
765 : :2019/10/14(Mon) 22:16:21 ID:ShGJQFvk.net StrawberryPerlはコンパイル環境が丸ごとバンドルされているのでおススメだよ。
766 :デフォルトの名無しさん :2019/11/18(月) 21:00:37.30 ID:vV3s+CrD.net Android上でPerlとか動かす実行環境あったのな。ついさっき知った。 https://docs.solab.jp/sl4a/
767 :デフォルトの名無しさん :2020/01/01(水) 14:14:05.07 ID:fUaq4dOi.net 以前ローカルタイムとGMTの秒数のずれを出すためにこんな風に書いた。 use Time::Local; my $t = timegm(localtime(0)); これは昨日までは正常に動いた。ローカルタイムが日本時間(JST)なら9時間を秒に直した 32400 が返されていた。 しかし今日(2020年1月1日)になったらいきなり巨大な数を返すようになった。 ローカルタイムが JST なら 3155792400 になる。そしてこれは32bitのOSではエラーになった。 (整数のビット数が多くなるように Perl がコンパイルされていれば大丈夫なのかも知れないが)。 この巨大な数はなんなのかと調べてみたら、2070年だった。 $ date -d '@3155792400' 2070年 1月 1日 水曜日 18:00:00 JST $ で、結局これは timegm() の年に与える数が4桁の西暦年になるように修正したらうまく行った。 use Time::Local; my @tt = localtime(0); $tt[5] += 1900; my $t = timegm(@tt); これでローカルタイムが日本時間なら 32400 になる。(OSが32bitでも問題なし)。 でもこれ、なんか変だよね? バグじゃないのか? 2020年にいきなり変わるって、元からそういう仕様だったの?
768 :デフォルトの名無しさん :2020/01/01(水) 15:33:18.64 ID:e1g3DWya.net https://perldoc.perl.org/Time/Local.html#Year-Value-Interpretation timegmの年に0〜99を指定した場合は現在の年を基準に前後50年の範囲に収まるように解釈する特別扱いで localtime(0)で帰ってくる70は 2019年は2019+50=2069の範囲外なので1970だったけど 2020年は2020+50=2070なのでそのまま2070になる ある意味2020年問題やね
769 :デフォルトの名無しさん :2020/01/01(水) 16:16:55.11 ID:fUaq4dOi.net >>768 わかった。ソース見てわかった。50年な。今年の年に50足して100で割った余りを区切りにするから70が区切りで、70未満は今年の世紀の2000足しちゃうのな。 どうりで71年からはちゃんと計算できると思ったら。
770 :デフォルトの名無しさん :2020/01/01(水) 16:17:56.87 ID:fUaq4dOi.net 未満じゃない。以下か。
771 :デフォルトの名無しさん :2020/01/01(水) 16:21:54.06 ID:Vy5hpr3F.net ドキュメントを読めよ。 ちなみに確認しないけど、西暦2桁表記は、1970年を基準に±50年の範囲と見なすってのはなんかであった気がする。
772 :デフォルトの名無しさん :2020/01/01(水) 16:22:23.94 ID:Vy5hpr3F.net 出遅れた。orz
773 :デフォルトの名無しさん :2020/01/01(水) 20:55:02.80 ID:MALUlSLD.net 年の2桁表示とか、紛らわしい表記は使ってはいけない! 2020/01/01, 2020-01-01 など、フル桁の4/2/2でないといけない
774 :デフォルトの名無しさん :2020/01/01(水) 22:28:07.13 ID:nMZ5JBqA.net そういうことじゃないと思うよ。 知ったかぶりしたいわけじゃないから、これだけ紹介しとくよ。 https://qa.itmedia.co.jp/qa4977971.html
775 :デフォルトの名無しさん :2020/01/02(木) 01:20:37.93 ID:EKdEyvit.net 突然にタイムゾーンの話?
776 :デフォルトの名無しさん :2020/01/05(日) 19:51:48.79 ID:YU7sLweA.net >>771 その区切りが移動するんだな。
777 :デフォルトの名無しさん :2020/01/05(日) 22:57:34.53 ID:UM8RYdV+.net それにしても年2桁をある年を境に分けるしてって、 俺が中学生の頃に作った家計簿ソフトみたいだなw もう30年ぐらい前になるのか?
778 :デフォルトの名無しさん :2020/01/06(月) 14:52:57.76 ID:DmV1IuhC.net DuckDuckGoがPerlで書かれてるって最近知った
779 :デフォルトの名無しさん :2020/01/07(火) 22:37:11 ID:+L6qE003.net perlは文法の泥沼具合で唯一c++とためはれる言語。もちろん褒めてない。
780 :デフォルトの名無しさん :2020/01/08(水) 12:14:45.57 ID:1aWtkc80.net log(1000)/log(10) は3だが、int()に通すと2になる。 Windowsサンプル perl -e "$tmp = (log(1000)/log(10)); printf('result=%s,%s', $tmp, int($tmp));" Unixサンプル perl -e "\$tmp = (log(1000)/log(10)); printf('result=%s,%s', \$tmp, int(\$tmp));"
781 :デフォルトの名無しさん :2020/01/08(水) 19:45:30.94 ID:naqRCa+g.net あー。%s か。
782 :デフォルトの名無しさん :2020/01/09(木) 10:06:14.57 ID:Gxf4nQ6S.net フォーマットを %.16f にしたら 2.999... のように出たよ。 まあでも環境によって違うかも知れないけどね。
783 :デフォルトの名無しさん :2020/01/09(木) 13:01:10.00 ID:CwRR9iY2.net ある整数$nを10進表示するために必要な桁数を求めるためにlog($n)/log(10)を使ったのが良くなかった。 小難しいこと考えずにperlらしく素直に文字列としてlength($n)で桁数を取得するのが正解。
784 :デフォルトの名無しさん :2020/01/09(木) 20:26:28.10 ID:C+kuIm3o.net Perlじゃなくても、浮動小数点数なら残当。 結局、10で何回割れるか数えるのが一番合理的なんかねえ。
785 :デフォルトの名無しさん :2020/01/10(金) 04:53:14.77 ID:EqsvE6i0.net 問題の本質は、整数と実数の型区別がない言語において、3なのか2.99…なのか簡単に識別する手段がないこと。
786 :デフォルトの名無しさん :2020/01/10(金) 05:45:42.75 ID:EqsvE6i0.net PerlはCPU依存の浮動小数ではなく、独自の浮動小数を実装している。 計算速度がCやJava劣るのは、単にPerlがスクリプト言語だからというだけではない。 独自な浮動小数には良い面も悪い面もあるが、浮動小数の精度を変更できるのは大きな強み。 以下は、浮動小数の精度を10進換算100桁にするための宣言。 use bignum (a => 100);
787 :デフォルトの名無しさん :2020/01/11(土) 16:09:16.79 ID:j7/IvFvR.net >>785 ないな。一応 0.5 足してから int() で整数化すれば四捨五入になるけどね。自分でそう書かないとダメだったと思う。誰かがモジュール作って関数化してそうだけど。
788 :デフォルトの名無しさん :2020/01/11(土) 20:26:50.93 ID:usOdB8FH.net >>785 んなもん、そもそもあるわけがない。 浮動小数点数表現はおろか、有理数表現でも完全に表せない値は当たり前なんだから。
789 :デフォルトの名無しさん :2020/01/15(水) 02:51:20.42 ID:pd5/9Sat.net 「Git 2.25」リリース、「git sparse-checkout」コマンドの追加や細かい機能強化が行われる https://mag.osdn.jp/20/01/14/171500 内部的な変更としては、「git add「コマンドの「-i」オプションをPerlベースからCに書き換える作業をスタートさせた。
790 :デフォルトの名無しさん :2020/02/06(木) 17:50:53 ID:UYgbv9bH.net PHPでPerlは使えますか?
791 :デフォルトの名無しさん :2020/02/10(月) 18:58:18 ID:TxaBglIi.net それはWebのページに埋め込むような感じで使えるかという意味?
792 :デフォルトの名無しさん :2020/02/11(火) 17:48:20 ID:ix+UlUL8.net PHPのプログラム中からPerlを呼び出すのであれば「php perl 呼び出し」等のキーワードでググれば沢山出てくる。
793 :デフォルトの名無しさん :2020/06/06(土) 11:22:08.79 ID:5FXxLs+t.net 2015年にリリースされたmacOS X 10.11 以降、SIP(System Integrity Protection)によってディレクトリ/Systemがガードされるようになった。 これにより2013年にリリースされたperl 5.13が/System配下にありガードされてアンインストールできなくなっている。 2019年にリリースされた最新のmacOS 10.15 Catalina もいまだにperl5.18のままという有様。
794 :デフォルトの名無しさん :2021/04/16(金) 16:34:02.69 ID:nmmEHRd0R フリーランスに立ちはだかる「常駐」の壁。慣例を打ち壊し、 “テレワーク”案件3割→8割へと成長を遂げた「クラウドテック」の軌跡https://prtimes.jp/story/detail/DBnPOktyljr テレワークの一般化により、11月にはテレワーク可能案件83.7%へと増加。 2021年、フリーランスのトレンドは「移住&テレワーク」と予測https://prtimes.jp/main/html/rd/p/000000045.000050142.html リモートワーク求人専門サイト「プロリモート」がリニューアルオープン、業務委託契約の求職者と企業をマッチングhttps://www.value-press.com/pressrelease/262778 1/3以上が採用につながる高マッチング率、リモートワーク×エンジニア・デザイナー専門の 人材紹介サービス「ReworkerAgent」正式リリース場所からも時間からも自由な働き方を実現!https://www.nishinippon.co.jp/item/o/713384/ フリーランスエンジニア必見!リモートワークや週3案件があるサービス5https://yokowork.biz/week3_engineer/ 地方在住者と都市部の仕事をつなげるリモートワークに特化したリクルートサイト 「remoteworkers」ワーカー事前募集開始https://prtimes.jp/main/html/rd/p/000000002.000072591.html
795 :デフォルトの名無しさん :2021/10/01(金) 19:08:40.79 ID:VGp4ti15.net 新しい Windows PCに Active Perlインストールしたら perl.batになってて使いづらいので Strawberry Perlに変更した
796 :デフォルトの名無しさん :2021/10/01(金) 20:42:39.90 ID:8GSBOhv8.net MSYS2をいれたほうがええんちゃう?
797 :デフォルトの名無しさん :2021/10/02(土) 10:57:54.57 ID:77ApQga0.net >>796 Git for Windowsに付属のbash(MINGW)で十分だと思う
798 :デフォルトの名無しさん :2021/10/02(土) 14:25:59.98 ID:yFRwYWli.net Git for Windowsに付属のbashってminttyだっけ 便利過ぎて死ぬわ
799 :デフォルトの名無しさん :2021/10/02(土) 15:08:59.66 ID:HPoADLry.net >>797 ホントにずっとそのままでええんならな。 MSYS2にしとけば、あとからpacmanでいろいろ足せる。
800 :デフォルトの名無しさん :2021/10/02(土) 15:15:17.46 ID:lWVjrMOX.net WSLでUbuntuもよろしく
801 :デフォルトの名無しさん :2021/10/02(土) 16:46:10.72 ID:77ApQga0.net WSLのPerlだとWin32API呼び出しできないからニーズを満たせないと思ふ
802 :デフォルトの名無しさん :2021/10/02(土) 16:55:22.91 ID:77ApQga0.net ちなみにGit for Windows (2.33.0.windows.2) にもPerlが入ってる Strawberry Perlは5.32までしかないのにGit for Windows版Perlは5.34 嘘だと思うなら調べてみるといい マジだから
803 :デフォルトの名無しさん :2021/10/02(土) 17:36:32.08 ID:HPoADLry.net バージョンが気になるならMSYS2やろ!
804 :デフォルトの名無しさん :2021/10/19(火) 22:17:39.89 ID:3qjTXPl0.net なぜStrawberry Perlは5.34がリリースされないの?
805 :デフォルトの名無しさん :2022/06/30(木) 22:37:09 ID:paUH0cS8.net Perl 5.36 が公開されたというのに、どのPerl関連スレも閑古鳥が鳴いていてさびしいねえ
806 :デフォルトの名無しさん :2022/07/02(土) 13:20:38.18 ID:OYFQm13f.net Windowsでコマンドライン生活をしてると utf-8かsjis(cp932)で改行がCRLFのテキストを扱うのがほとんど 結局コマンドプロンプトでPerlを使うのが一番使い勝手がいい…と思ってる
807 :デフォルトの名無しさん :2022/07/03(日) 05:14:11.23 ID:S0pZ0Csa.net >>806 わかる気がする 文字コード不明なゴミ文字列を食わされたらすぐ例外を吐く繊細なPythonは日本語版Windows向きじゃないんだよな
808 :デフォルトの名無しさん :2022/07/03(日) 14:29:42.06 ID:PqlrjItE.net 馬鹿には無理
809 :デフォルトの名無しさん :2022/07/04(月) 03:27:03.23 ID:E+MehTl/.net Perlの比較対象はsedとかawk 多段パイプでsedとawkをつなげまくってるのをPerlですっきり
810 :デフォルトの名無しさん :2022/07/04(月) 08:30:36.13 ID:CMsCi2w4.net PowerShellと被りまくりよな
811 :デフォルトの名無しさん :2022/07/05(火) 17:14:50.15 ID:tNMhVh98.net PowerShellはバイナリがパイプに流せないからな バイナリを流さなくても文字コードをいろいろ使う人には不便極まりない
812 :デフォルトの名無しさん :2022/07/05(火) 20:17:14 ID:uTfoaiyz.net PowerShellのパイプは、テキストでもバイナリでもなく、オブジェクトだが?
813 :デフォルトの名無しさん :2022/07/05(火) 21:04:46.45 ID:tNMhVh98.net それしかないから困るという話だが?
814 :デフォルトの名無しさん :2022/07/06(水) 04:19:04.24 ID:ln/Yt+4k.net PowerShellの文法にPerlの影響を感じる
815 :デフォルトの名無しさん :2022/07/06(水) 19:53:42 ID:ogfTX8ru.net ピンとこないんで例示たのむ
816 :デフォルトの名無しさん :2022/07/06(水) 21:22:26.26 ID:765tXlNx.net 影響つうか、もう完全に似せにいっとるやろ。w
817 :デフォルトの名無しさん :2022/07/06(水) 21:39:44.49 ID:ln/Yt+4k.net Perlでのワンライナーコマンドの成功体験を忘れられなかった人が、潤沢な資源を使ってPerlっぽいシェル作ったら明るいディストピアになってしまった感じ それがPowerShell
818 :デフォルトの名無しさん :2022/07/07(木) 20:54:38 ID:cvqD9lK8.net 文法の類似性は全く感じられない…いやまじで それはともかくWindowsでPowerShellをシェルとして使ってるとPerlと相性悪すぎる コマンドプロンプトなら問題ないのにね
819 :デフォルトの名無しさん :2022/07/07(木) 21:37:13.86 ID:PsBgcgR1.net Perlだけじゃないよ PowerShellはSTDIN, STDOUTを使うあらゆる伝統的アプリと相性が悪い
820 :デフォルトの名無しさん :2022/07/08(金) 07:50:38 ID:EP1tRVB4.net たとえば perl -E '$a = 1; say "\$a = $a"' …… (1) 結果はもちろん $a = 1 コマンドプロンプトだと引用符に ' が使えないから perl -E "$a = 1; say qq/\$a = $a/" とかするわけだけど、PowerShellなら ' も使えるから(1)でいけると思うわな ところが結果は SCALAR(0xf00e68) さすがにこれは凄過ぎる
821 :デフォルトの名無しさん :2023/11/07(火) 18:45:33.47 ID:bMdWZdKr.net https://github.com/StrawberryPerl/Perl-Dist-Strawberry/ V5.38が出ていますよ
822 :デフォルトの名無しさん :2023/11/20(月) 03:36:08.26 ID:BbmiohCI.net バイナリの種類が減ったけどどうしたんだろう_? ZIP版がなくなったのはちょっと寂しい いろいろビルドするの大変だったのかな… いずれにせよWidows用処理系のバイナリが提供されるのはありがたい
823 :デフォルトの名無しさん :2023/11/21(火) 15:33:51.20 ID:qJoihvDX.net >>820 Windows PowerShell 5.1 ではこの通りだったけど 最新の PowerShell 7.4 ではちゃんと $a = 1 になるように改善されてる
824 :デフォルトの名無しさん :2023/11/27(月) 18:46:28.12 ID:17nvp8y6.net $ perl -e '$a="abc"; $a =~ s/(.*)/[$1]/g; print $a . "\n"' [abc][] なんで後ろに[]がついちゃうの? 後ろに[]をつけないにはどうすればいいの?
825 :デフォルトの名無しさん :2023/11/28(火) 01:13:40.51 ID:cm6gsnuQ.net Powershell で、Ruby の1-liner を実行してみた。 %Q() は、"〜" と囲む文字列と同じ ruby -e 're=/(.*)/; puts %Q(abc).sub(re){ %Q([#$1]) }' [abc] ruby -e 're=/(.*)/; puts %Q(abc).gsub(re){ %Q([#$1]) }' [abc][] sub は置換を1回だけ、 gsub は複数回置換するから、2回マッチしているようだ これは正規表現のスレで聞いた方が良いかも
826 :825 :2023/11/28(火) 01:36:42.16 ID:Nm9lZ/Iv.net Ruby でやったら、sub/gsub のどちらも空文字列にもマッチする! %Q() が、"" と同じで空文字列 re=/(.*)/; puts %Q().sub(re){ %Q([#$1]) } [] re=/(.*)/; puts %Q().gsub(re){ %Q([#$1]) } [] Perl はよく知らないけど、正規表現の s/(.*)/[$1]/g の、s かg が、複数回マッチのオプションなのでは?
827 :デフォルトの名無しさん :2023/11/28(火) 07:55:53.20 ID:n24A5w3b.net gが複数回オプション
828 :デフォルトの名無しさん :2023/11/28(火) 11:38:18.70 ID:86akrCdn.net s/(.*)/[$1]/ または s/(.+)/[$1]/g
829 :デフォルトの名無しさん :2023/11/28(火) 12:30:37.56 ID:vIU65Zk5.net 複数回マッチはそれはそうなんだけど、 .*で全部にマッチするのだから一回しかマッチしないはずでしょう?
830 :デフォルトの名無しさん :2023/11/29(水) 00:11:18.99 ID:Yve6WB+Q.net この話題は以後、以下のスレに移動しました! Regular Expression(正規表現) Part16 https://mevius.5ch.net/test/read.cgi/tech/1635936601/962-
831 :デフォルトの名無しさん :2024/02/09(金) 17:07:25.90 ID:LEmbefGZ.net V5.38.2 32ビット https://github.com/StrawberryPerl/Perl-Dist-Strawberry/releases/tag/SP_5382_32bit 64ビット https://github.com/StrawberryPerl/Perl-Dist-Strawberry/releases/tag/SP_53822_64bit
832 :デフォルトの名無しさん :2024/02/13(火) 13:45:23.58 ID:INZlTde8.net >>831 https://strawberryperl.com/releases.html には最近のバイナリはないね。 ビルドに使われた external tools and libraries について見ると Perl 5.36.1.1 (2023-07-20)のリリースで MingW gcc-13.1.0 まで上がり Jul 11, 2023 の dev_5.38.0_20230705_gcc13 までは(同じ?) gcc-13.1 (winlibs release 5) が使われていたけどこれはビルドに問題があったようで、 For a list of known test failures and build issues see Issues ・ StrawberryPerl/Perl-Dist-Strawberry ・ GitHub https://github.com/StrawberryPerl/Perl-Dist-Strawberry/issues?q=is%3Aissue+is%3Aopen+label%3Aperl5.36 Nov 28, 2023 の dev release 5.38 32-bit cut-down 以降は Perl 5.32.1.1 (2021-01-24) のときの gcc is version 8.3.0 を含む c/ ディレクトリに戻してビルドするようになったとのこと、 またzip版のバイナリはリリースされなくなったし この2年でなんか色々変わってきたな、Strawberry Perl も一つの節目なのかね 今後Strawberry Perlの動向は https://strawberryperl.com/ の方ではなくgithub.comの方 https://github.com/StrawberryPerl/Perl-Dist-Strawberry/releases を見るべきだね
222 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★
本文 スレッドタイトル 投稿者