Perlについて

このエントリーをはてなブックマークに追加
544デフォルトの名無しさん
てかこのスレの住人だってcpanmとかperlbrew使ってるの5人もいないだろ
545デフォルトの名無しさん:2011/10/07(金) 23:50:23.05
>>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
うわぁ
547デフォルトの名無しさん:2011/10/07(金) 23:59:38.41
>>546
何か言い返したほうがいいぞw
548デフォルトの名無しさん:2011/10/08(土) 00:04:01.85
cpanmはインストールしたけど、ほとんど使ってない。
perlbrewは使ってない。
local::libは使ってる。無いと死ねる。
549デフォルトの名無しさん:2011/10/08(土) 08:38:09.06
うちはcpanmは使ってるな。リソース少なめの非力マシンなんで。
cpanと併用だけど。
550デフォルトの名無しさん:2011/10/08(土) 13:46:20.74
>>530
オリジナルじゃないし座右の銘でもないな。
しかも最後、万人の感情論まで入っているぞw
551デフォルトの名無しさん:2011/10/10(月) 00:10:54.13
cpanmやperlbrewの作者たちは僕の中でプロと思える存在だったんだけど世の中には兵がたくさんいるんだな
552デフォルトの名無しさん:2011/10/10(月) 01:22:29.43
> cpanmやperlbrewの作者たちは僕の中でプロと思える存在だったんだけど
え?

cpanmやperlbrewが無益なものだとは言わないけど、
自分で好きなサーバーを選べないrootも持ってないそういう
ニッチな需要に対応するもので、
プロの間では使うことはまずない道具だろ。

技術的には、ネットからダウンロードして
パッケージに付いてるコマンド実行するのと
パスとディレクトリ変更するだけのものだし。

553デフォルトの名無しさん:2011/10/10(月) 01:40:11.10
プロハープロハー
554デフォルトの名無しさん:2011/10/10(月) 02:29:19.58
>>551
別にcpanmやperlbrewやその作者をdisっている訳ではなくて、
必要があれば使うしなければ使わないってだけの話でしょ。
すごいプロダクトならとにかく使わなきゃいけないって考えは変だろ。
>>552
> プロの間では使うことはまずない道具だろ。
んなこたあない。お前の「プロ」定義、歪んでるぞ。ものすごくシロウト臭い。
555デフォルトの名無しさん:2011/10/10(月) 06:01:08.40
そもそも
> 自分で好きなサーバーを選べないrootも持ってないそういう
> ニッチな需要に対応するもので、
ここの認識から違う。
どっかの記事みてそう思っちゃったんだろうけど
556デフォルトの名無しさん:2011/10/10(月) 06:46:36.59
>>555
なにが違うん?

普通にインストールすればいいだけじゃん。
557デフォルトの名無しさん:2011/10/10(月) 07:58:34.12
>> 自分で好きなサーバーを選べない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
>>557
cpanm(cpan)はアンインストールできないので
パッケージを作ったほうが優れている。

また他のperlのバージョンの挙動を調べたいのなら仮想マシン使う。
そんな環境がごちゃごちゃするようなやり方はしない。
559デフォルトの名無しさん:2011/10/10(月) 13:51:15.34
プロ様お疲れ様っす!
560デフォルトの名無しさん:2011/10/10(月) 14:31:27.78
>>558
> cpanm(cpan)はアンインストールできないので
ん? できるでしょ? ちょっと手間はかかるけど。
インストール時にパッケージ作る手間とどっちを取るか、って感じ?
561デフォルトの名無しさん:2011/10/10(月) 14:46:10.85
パッケージを作るのは1行〜数行で終わる。

cpanのアンインストールは、モジュールによって
やり方が違い、make uninstallを備えていないのも多い。
562デフォルトの名無しさん:2011/10/10(月) 15:35:57.38
そうか。
まあ基本的にアンインストールしないから関係ないや。
Perlのモジュールなんてインストールされてて困ったなんてことないしなあ。
563デフォルトの名無しさん:2011/10/10(月) 16:34:22.42
>>562
そこがプロとアマの違いね。
今どのモジュールがどうやってはいったか把握してないでしょ?

アマなら動いていればいいじゃんで終わるんだろうけど、プロだとちゃんと環境を把握している。
(覚えているのではなく簡単に調べられるということ)
環境を把握しているから、なにかトラブルが起きた時その原因の切り分けが簡単にできる。

cpanモジュールをパッケージにしていれば、パッケージのバージョンアップで
なにか動作がおかしくなった時、今のバージョンを完全に綺麗な状態に消して古いバージョンを入れられる。

もしそうなっていなければ、今モジュール入っているんだっけ? 全部ちゃんと消したっけ?
あれ? なんか古いモジュールと新しいモジュールがごっちゃになってる。
インストールが途中でエラー終了したんだけど、今どういう状態になってるんだ?みたいな混乱が起きることになる。
564デフォルトの名無しさん:2011/10/10(月) 16:43:47.58
データ解析系の人間からすれば、
debianでアプリ開発して移植先がSolarisだったらどうすんの?とか、
仕様書に「野良パッケージが便利だからdh-make-perl入れます」と書くのか?とか。
もうね、、、

その上で、自分はプロ!だからなあ。
565デフォルトの名無しさん:2011/10/10(月) 16:45:08.96
ああ、「実際の運用時にはcpan使うだろJK」か。
566デフォルトの名無しさん:2011/10/10(月) 17:08:01.67
納品先の鯖の保守契約自体は、他の会社(例えば、HPだの)にあった場合に、
そちらに依頼してモジュールのインストールしてもらわなきゃならない、
もしくは仕様書を渡してこちらでインストールなりをする。
鯖のrootにはそれだけの重みと柵がある、例えweb鯖でも。
それのに、気軽にプロなら、とか言ってくれるなよ。
どれだけ軽いrootだよ、お前様の鯖は。

perlbrewもcpanmもどうでも良くて、あんまりのレスについ書いちまった。
567デフォルトの名無しさん:2011/10/10(月) 17:11:08.43
>>563
いやいや、むしろ"プロ"ならcpanで入れた分だってちょっと調べりゃ綺麗にアンインストールできるでしょ。
make uninstall なんか使えなくってもさ。
パッケージ作るかどうかなんてのは好みだから別に好きにすればいいと思うけど、
基本的にはアンインストールが必要になることなんて滅多にない場合は、
必要が生じた時だけちょっと手をかけてアンインストールすることにして、
インストール自体はcpanで済ませても問題ないじゃない。時間の節約にもなる訳だし。

まあ別に"プロ"じゃないけどね。あ、昔仕事でスクリプト書いたことはあったんでその時だけは"プロ"だったか。
568デフォルトの名無しさん:2011/10/10(月) 17:43:24.97
> ちょっと調べりゃ

はい、その調べる手間が無駄です。
569デフォルトの名無しさん:2011/10/10(月) 17:56:21.01
>>564
> 仕様書に「野良パッケージが便利だからdh-make-perl入れます」と書くのか?とか。
「野良パッケージが便利だからcpanで入れます」と書くのか?
お前の意見はどっちなんだ? 野良パッケージのインストールをするなってことなのか?
それはそれで有りだと思うよ。だが今の話とは関係ない。

今は野良パッケージを入れることが前提の話。
野良パッケージを入れる場合、cpanで入れてOSの安定性ぶち壊すのか、
それともパッケージにして管理された状態でモジュールを使うのか。
どっちが優れてるかなんて言うまでもない。
SolarisならSolarisのやり方でパッケージ管理するだけの話。


>>556
お前のほうが軽くね?
だって、モジュールのインストールは他の会社に頼む。
うちはモジュールのインストールはしない。そう言ってるわけでしょ?

つまり、お前の場合は、モジュールのインストールしない側の話であって
今話してるのは、モジュールインストールする側の話だよ。

わかりやすく言えば、root持ってないお前が頼むのがroot持ってる俺の会社ってわけだ。
モジュールのインストールという責任あることをcpan使って気軽にやるかよw

ちゃんとパッケージ作ってちゃんと管理する。これはディストリがやってるのと同じ方法だ。
なぜディストリはパッケージを使っているかその理由ぐらい分かるだろう。
570デフォルトの名無しさん:2011/10/10(月) 18:05:05.09
厚顔無知
571デフォルトの名無しさん:2011/10/10(月) 18:50:17.18
>>569
> 今は野良パッケージを入れることが前提の話。
えっ?いつからそんな前提の話に変わってたの?

> 野良パッケージを入れる場合、cpanで入れてOSの安定性ぶち壊すのか、
えっ?cpanで入れるとOSの安定性がぶち壊れるの?
コワ〜イ(><)
572デフォルトの名無しさん:2011/10/10(月) 18:55:09.29
この手の「なにがなんでも自分が最後に勝ちたい」“プロ”とは絶対一緒に仕事したくないってことだけは確かだなw
573デフォルトの名無しさん:2011/10/10(月) 19:04:11.84
>>571
> えっ?いつからそんな前提の話に変わってたの?

元は、cpanm使う → そんなの使わねーよ、パッケージ作れよ。が発端。

ちゃんとスレ読んでから出直し。
574デフォルトの名無しさん:2011/10/10(月) 19:06:51.87
>>571
> えっ?cpanで入れるとOSの安定性がぶち壊れるの?
そうだよ。

cpanで入れるとモジュールの整合性がおかしくなる。
モジュールをパッケージで入れた(ディストリがパッケージで提供してる奴)
同じモジュールをcpanで入れた。さてどうなるか。
削除するとき、本当にちゃんと削除できたか、何かが残っていて
予期せぬことが起きる可能性だってある。
575デフォルトの名無しさん:2011/10/10(月) 19:23:10.53
モジュールをパッケージで入れないから問題ない。
576デフォルトの名無しさん:2011/10/10(月) 19:25:59.06
そういうときこそlocal::libだな
577デフォルトの名無しさん:2011/10/10(月) 19:34:20.56
入れないじゃなくて、
入れられないの間違いでしょw
自分専用のマシン用意してもらえないとかで。
578デフォルトの名無しさん:2011/10/10(月) 20:33:05.15
パッケージ管理の方こそ信用ならん。
インストールは全部makeで、Perlのモジュールはcpan。
579デフォルトの名無しさん:2011/10/10(月) 20:41:09.84
>>570
なんで信用ならんの?
580デフォルトの名無しさん:2011/10/10(月) 21:16:17.19
debianの場合だと
往々にして妙にバージョンが古くて
それがトラブルの元になったりするから
とか?
581デフォルトの名無しさん:2011/10/10(月) 21:34:07.52
それはパッケージの問題じゃねーよw
582デフォルトの名無しさん:2011/10/16(日) 21:52:24.92
プロでもアマでもインストールは手動で行ってこそ、把握や管理が楽になる
583デフォルトの名無しさん:2011/10/16(日) 22:18:05.00
Encodeの使用者って少ないって本当?
ネットにも本にも紹介されてるんだけど、実際に現場で使われてる
のは確かに見たことないんだよね。
584デフォルトの名無しさん:2011/10/16(日) 23:23:37.06
「プロ」の次は「現場」ktkr

じゃあ現場でEncodeの代わりに何使ってるんだよw
585デフォルトの名無しさん:2011/10/17(月) 00:25:08.22
変換しないから何も使ってないktkr
586デフォルトの名無しさん:2011/10/17(月) 03:28:14.22
文字コードが混在してるわけじゃないので使用してませんが?
587デフォルトの名無しさん:2011/10/17(月) 04:57:36.37
それは
Encodeの使用者が少ない
んじゃなくて
Encodeが必要になるような局面が少ない
っていうことか。
それならわかる。
588デフォルトの名無しさん:2011/10/18(火) 05:02:53.39
有用か無用の判断はともかく、ファイルハンドルからファイル名って取得出来ないのかしら?
Devel::Peek::Dump($filehandle) みたいに渡すとファイル名が表示されるから、ファイルハンドルから
ファイル名が取れるはずなんだけど Devel::Peek を読んでもまったく意味が分からないw

ファイルハンドルからファイル名を取得する方法またはサンプルとか知ってるからいらっしゃいますか?
589デフォルトの名無しさん:2011/10/18(火) 06:33:09.89
自分の環境(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
>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
かぶった、リロードすべきでしたorz...
592デフォルトの名無しさん:2011/10/18(火) 07:20:24.27
予防線を張ってるのを百も承知で書くが、ファイル名なんざ
<>の時は、$ARGVで、open FHの時は自身が変数なりで
保持してるのに、何でファイルハンドルから取り出したがる人がいるのか不思議だ
<>が複数ファイルの場合、$ARGVは最初のファイル名と思い込んでた人もいたけど、昔。
593デフォルトの名無しさん:2011/10/18(火) 12:51:21.64
すんません FILE の行をファイルハンドルのファイル名と勘違いしてましたw
実行されたスクリプト名だったんですねorz


ファイルハンドルからファイル名を知りたいと思ったのは、ファイルハンドルを受け取る関数を作ってたんだけど、
ハンドルからファイル名を知れたらやりたい事が出来るようになるので楽かなと。

そうゆういった意味で聞きました。
594デフォルトの名無しさん:2011/10/18(火) 14:57:40.26
>>593
その関数でファイルハンドルもファイル名も欲しいんだったら
両方渡してやるようにすればいいのでは
595デフォルトの名無しさん:2011/10/18(火) 17:42:24.47
スクリプトが約100もあったので、どうにか呼んだ関数側のみで解決できないかなと^-^;
素直にファイル名も渡すように修正しました。

ありがとうございましたm(_ _)m
596デフォルトの名無しさん:2011/10/19(水) 00:53:22.39
余計なモジュール入れたくないからEncode使いますが何か
597デフォルトの名無しさん:2011/10/19(水) 06:41:15.22
ちなみに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
my $dump = Dump($fh);
599デフォルトの名無しさん:2011/10/19(水) 22:38:59.96
試してから書けばいいのに
600デフォルトの名無しさん:2011/10/20(木) 23:43:05.41
余計なフラグいじりたくないからJcode使いますが何か
601デフォルトの名無しさん:2011/10/21(金) 09:35:11.54
保守されてないモジュールを有り難がってもなあ。
602デフォルトの名無しさん:2011/10/21(金) 23:03:40.46
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
しっつもーん

PAR で exe 化したプログラムを有償にする場合って、ソースコードの公開義務ってあるんですか?
604デフォルトの名無しさん:2011/10/22(土) 00:53:11.74
買わないオレに公開する必要はない
605デフォルトの名無しさん:2011/10/23(日) 13:29:22.89
PARはソースコード公開(添付)してるようなものだから必要ないだえお
606デフォルトの名無しさん:2011/11/03(木) 15:53:26.69
仕事で使うなら最悪の場合、自分でソース読んで改造・修正する
必要がでてくるので、能力的にも時間的にも自分で何とかなる
範囲のモジュールやライブラリを選ぶことになる。

当時NKFがあったにも関わらず、あえてjcode.plが作られた目的
はそこにあったと思う。NKFの座はいまやEncodeが奪ったが、
jacode.plの利点は当時と同じく今も価値がある。




...なんてな
607デフォルトの名無しさん:2011/11/05(土) 11:02:27.13
目指す方向の違いかも

Encode.pm -- 大は小を兼ねる(おとこのこ)
jacode.pl -- 小は大を兼ねる(おんなのこ)
608デフォルトの名無しさん:2012/01/09(月) 12:12:05.71
Padre使っている人ってどれぐらいいる?
perl editor使っている人はどれぐらいいる?
609デフォルトの名無しさん:2012/01/09(月) 12:34:09.28
${どっちも知らない}++;
610デフォルトの名無しさん:2012/01/09(月) 17:20:23.97
Perl言語でモンテカルロ・シミュレーションをやって、
ワクチンの効果を分析するっていうのがあるそうなんですけど、
とてもじゃないけど、学習が間に合わない。

Perlの基礎から学習しないといけないし・・・。

はあー、タメイキ・・・
611デフォルトの名無しさん:2012/01/09(月) 18:34:18.11
>>610
言語は何と何なら使えるの? ある程度の心得があれば大丈夫でしょう。
まるっきりのプログラミング初心者だと確かに大変かもしれないけど…
モンテカルロ法自体はそんなに複雑な方法でもないと思うし。
まさか最初から全部自分で書けって訳でもないだろうし。そのまさか?
612デフォルトの名無しさん:2012/01/09(月) 19:25:59.38
>>610
漢字で書くべき単語を無駄にカタカナで書くおっさんには無理
613デフォルトの名無しさん:2012/01/09(月) 20:25:52.92
激しく同意で御座います
614デフォルトの名無しさん:2012/01/09(月) 22:59:46.40
>>611
プログラミング初心者です。
書けるのはHTMLくらいです。
論文に、前提と結果だけがあるんですけど、
プログラムがどんなか、わかりません。
615デフォルトの名無しさん:2012/01/09(月) 23:05:44.42
active perlをインストールして、Hello world!だけはできました。
616デフォルトの名無しさん:2012/01/09(月) 23:52:44.96
初心者なのかーそりゃ大変だ。
期間がどれくらいあるのかにもよるだろうけどねえ。
まあ周囲にプログラミングの心得のある人がいないか探して
ちょっとアドバイスとかいろいろ頼ってみたら。
617デフォルトの名無しさん:2012/01/10(火) 00:04:45.05
>>612
文学がわかっちゃいないね、キミ
618デフォルトの名無しさん:2012/01/10(火) 01:28:19.05
>>617
うるせえハゲ
619デフォルトの名無しさん:2012/01/15(日) 11:01:32.44
>>610
ちょろっと検索しただけでいろいろ出てくるぞ。
でもPerlを覚えるのが目的ではないのだとしたら、おれならAWKで
書くな。その方が覚えることが少ないし、記述するのに機能が足り
ないってこともないと思う。もしどうしてもPerlでっていうならば
書き終わってから a2p でPerlスクリプトにすればいい。
620デフォルトの名無しさん:2012/01/15(日) 13:05:04.45
AWKでネットワーク通信できるの?
621デフォルトの名無しさん:2012/01/15(日) 17:28:55.42
何だ?ネットワークのネの字もなかったのにいきなり高度な...
ネットワークとモンテカルロ法は別物だから切り離したほうが
よくね?まさかGUIも必要だとか言いださないよな?一個ずつ
駒を進めようぜ。
622問題です:2012/01/18(水) 03:41:34.72
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
問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
問3) 裏から覗く? 難易度:★★☆
正規表現を使い、(3-A)の$textの中の「表」を「裏」に置換して、
(3-B)と同じ内容を表示してください。

(3-A)
my $text = '\\表\\\助\\封\\呂\\表\\\';

(3-B)
\裏\助\封\呂\裏\
625デフォルトの名無しさん:2012/01/18(水) 20:30:24.83



宿題は自分でやりましょう


626デフォルトの名無しさん:2012/01/20(金) 00:56:22.05
# 問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
# 問2) パスの分割 難易度:★★☆

my $path = 'C:\メモ\饅頭怖いよ\full.txt';

$path =~ s/\\/\n/g;

print $path, "\n";

__END__
※ このスクリプトは jperl を使って実行します
628デフォルトの名無しさん:2012/01/20(金) 00:58:52.58
jperlなんて今更どうやって用意するのよw
629デフォルトの名無しさん:2012/01/20(金) 01:01:19.90
# 問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
>>628
ちゃんと授業を聞いていましたか?
ベクターにあると説明したはずです。
631問題です:2012/01/20(金) 03:41:59.47
>>629
正規表現で置換してないので、間違いです。
それと、jperlとお幸せに。
632デフォルトの名無しさん:2012/01/20(金) 21:22:29.16
べくたーwwwww
633へたくそ:2012/01/20(金) 21:37:23.75
問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
問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
何人かの生徒から知らせを受けて、まさかと思いここをアクセスしたら
問題がそのまま掲載されていて、驚いています。

ここに掲載された回答を書いたひとは配点しませんので、そのつもりで
いてください。

問題を載せた君は月曜日に職員室に来てください。誰かは大体分かって
います。
636先生より:2012/01/20(金) 22:10:10.58
>>631
【正規表現を使い、(3-A)の$textの中の「表」を「裏」に置換して、】

「正規表現で置換する」とは言っていません。条件は、
1. 正規表現を使うこと
2. 置換すること
です。

あわてずに問題を読みましょう。
あ、それと君も職員室に来てください。
637デフォルトの名無しさん:2012/01/20(金) 22:11:14.75
1.性器表現を使うこと
2.痴姦すること

ですね!
638デフォルトの名無しさん:2012/01/20(金) 22:15:09.53
下ネタは5.8のほうでやってください。そっちに好きなひとがいるんで。
639先生より:2012/01/20(金) 23:39:20.06
誰も名のらなかった場合は、全員を減点します。
校長先生には許可をもらいました。

おや?そうなると進級できないひとがでてきそうですね。
もしかして、書き込んだのは...
640問題です:2012/01/21(土) 12:51:49.27
>>633-634
グッジョブでした。
641答え:2012/01/21(土) 12:53:34.05
問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
問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
問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
コードはTMTOWTDIってことで。

こんな面倒なことをやっても、このコードはCP932専用。
EUC-JPかUTF-8に変更されると書き直しに迫られる。
Perlの三大美徳の怠惰を忘れずに。
645デフォルトの名無しさん:2012/01/21(土) 14:32:17.48
で本当の問題は、これをEncodeモジュールを使って
CP932、EUC-JP、UTF-8全て対応にするという物。
646デフォルトの名無しさん:2012/01/21(土) 21:47:42.75
JperlじゃEncodeモジュール使えないじゃん。確かにそれは問題だな。
647デフォルトの名無しさん:2012/01/21(土) 21:54:33.42
なんだ、やっぱりダメなんだなEmcodeは
648デフォルトの名無しさん:2012/01/21(土) 22:46:51.21
# 問3) 裏から覗く? 難易度:★★☆

# my $text = '\\表\\\助\\封\\呂\\表\\\'; ← 表の後ろに \ が3つ
my $text = '\\表\\助\\封\\呂\\表\\';

$text =~ s/表/裏/g;

print $text;

__END__
※ このスクリプトは jperl を使って実行します

問題では変数 $text の表の後ろに3つの \ があるためにおかしな
ことになっていますが、現実の問題としては2つの \ ということに
なるでしょう。

こうすることで正規表現による置換ができます。
649デフォルトの名無しさん:2012/01/22(日) 11:29:56.92
英語版のperlで日本語を処理しようとするのはナンセンスです。
すでにjperlがあるわけですから賢く使い分けましょう。また国際化
対応していれば日本語も扱えるとのたまう輩もおりますが、軽く
受け流して、可能なら5.8スレの方に誘導してあげましょう。
面倒な場合はスルーでも構いません。
650デフォルトの名無しさん:2012/01/22(日) 11:47:22.87
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
まあ、義務教育の中等学校だからそんなもんだね
652デフォルトの名無しさん:2012/01/22(日) 11:56:43.81
jperlにしがみつく人が屁理屈で問題作ってるんだよ
もし学校で「jperlだけを使いなさい、jperlを前提としたプログラムを作りなさい」って
教育してるなら日教組並みの害悪
653デフォルトの名無しさん:2012/01/22(日) 12:22:14.65
>>652
今更jperlは無いわ。
目が節穴じゃね?
654デフォルトの名無しさん:2012/01/22(日) 12:35:43.12
>>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
いまさらEncodeモジュール絡みの話をしているPerlの人って……
656デフォルトの名無しさん:2012/01/22(日) 12:44:34.84
>>645
モダンにいくなら、UTF-8で書いて、こんな感じ。

use utf8;
use Encode::Locale;
use open qw(:encoding(locale) :std);

...
657デフォルトの名無しさん:2012/01/22(日) 13:19:32.77
ヒント:ヒューマンリソースとムーアの法則について
658デフォルトの名無しさん:2012/01/22(日) 14:08:47.05
>>657
ホウホウそれで
659デフォルトの名無しさん:2012/01/22(日) 17:50:00.68
たくさんの回答、ありがとうございました。
中には学校で習ったものよりも高度なものがあり、パールの苦手なぼく
にもとても参考になりました。でも将来プログラマになるわけではない
ので簡単なJPERLで十分かな?と思っています。

明日、出頭し処分を受けることになりそうですが、あまり後悔はして
ません。ここでいろいろ勉強になったからです。

ところで職員室は第一ですか?それとも第二のほうがいいですか?
660デフォルトの名無しさん:2012/01/22(日) 18:33:21.22
展開がキチガイ過ぎて言葉が出ない…
661デフォルトの名無しさん:2012/01/22(日) 18:52:48.71
jperlは別に簡単ではないぞ。特定の用途の場合にのみちょっと便利なだけだ。
662先生より:2012/01/22(日) 21:23:13.30
第二です。8:40までにくること!
663デフォルトの名無しさん:2012/01/22(日) 21:31:34.74
承知しました
664デフォルトの名無しさん:2012/01/22(日) 22:03:07.77
便利だったら無理に勧めなくたって、みんな使い出すんだろうね
他の何かをdisるのはなぜか危機感を感じてる証拠だろうね
665デフォルトの名無しさん:2012/01/22(日) 23:16:21.58
>>659
ああ、一人で幸せに暮らしてくれ。
JPerl(Perl 5.003_07)というCPANどころかData::Dumperすら無いシロモノを他人に勧めるな。
666デフォルトの名無しさん:2012/01/22(日) 23:17:03.60
そりゃあ、上のスクリプトを比べてみれば一目瞭然だもの。
667デフォルトの名無しさん:2012/01/22(日) 23:26:02.71
道具を使うのは人間なんだから、使いやすいものをそのときどきによって
選択すればいいよね。あるから使わないといけないと考えるのは本末転倒
で無駄な苦労をすることになるよね。でもまあご自由にどうぞ。
668uy:2012/01/23(月) 17:02:41.36
可愛そうに・・・・・・


>>667
最近、誰の受け売りだか知らんがこういう事言ってる奴いるけど

はっきりいって、C#.NET知ってればほとんどのことは出来るし、
ようは言語同士の連結の仕方を知っているかどうかだけど、大丈夫か?

Rubyだけ使っていたって、そこから.NETやC呼び出せばほぼ何でも出来るようになるわけだけど

Perl使いさんたちは、言語同士の連結のやり方 わかっていますか?
669デフォルトの名無しさん:2012/01/23(月) 17:07:17.50
へえC#.NETって環境を問わずどこでも使えるんだー知らなかったよ
言語同士の連結ってどうやるの?連携のさせ方ならいろいろあるだろうけど連結は聞いたことなかったな
670uy:2012/01/23(月) 17:59:27.39
機械語で想像できないから
連結って言葉に違和感を覚えるのか
それとも、
dllファイルを別々にしたときの挙動すら、わかっていないのか
さすがにPerl使ってる奴は井の中の蛙という言葉がふさわしい・・・

ああ可愛そうに
ひたすら可愛そうに
671uy:2012/01/23(月) 18:00:28.23
この手のバカ

スクリプト言語しか出来ないタイプには多いだろうな

perlより、まずコンピューターの基礎からやり直したほうがいいのではないか
672デフォルトの名無しさん:2012/01/23(月) 19:03:38.76
C#.NETでなんでもできるとかほざいてる奴が
井の中の蛙だのコンピューターの基礎だの烏滸がましいわw
673デフォルトの名無しさん:2012/01/23(月) 19:04:09.63
>>668
PerlはモジュールをCで書くことも可能であれば、Cから呼び出すことも可能だよ。
ActivePerlならWIndowsスクリプトファイル(wsf)でVBやJScirptと混ぜ書きもできる。

でさ、アセンブラを20年ぐらいやってるとさ、ポストデクリメント演算子に
違和感を覚えるんだけどさ、あれどう思う?

ああ、それと>>667の意見には同意です。
674デフォルトの名無しさん:2012/01/23(月) 21:30:12.88
えさは足りてるみたいなので与えないでください
675uy:2012/01/24(火) 00:02:01.90
>>673
ほら突っついたらでてきた
井の中の蛙wwwww

そんなの出来ることは当たり前なのに

どうした? どこか痛いのか?

目的の為に言語を変えるか、
俺が言いたいのは
お前たち程度のレベルで、目的の為に最適な言語がいつから選べると慢心しているのかって事だ

CGIを書くのにCは使わない? そんなのは当たり前で
段階はその次だ

CGIを書くためにどのWeb言語を使うのか?
その選択がお前たちは出来ないから・・・・こんなスレにいるんだろwwwwwwwwバカかwwwwwww
perl一生つかっていろよwwwwwwwwwwwwwwwwwwWWWWWWWWW
676デフォルトの名無しさん:2012/01/24(火) 01:16:41.40
早い話が、結局何をやってもものに出来なかった人の嫉妬ですね。
677デフォルトの名無しさん:2012/01/24(火) 01:31:36.16
nyは専ブラであぼーんだな
678デフォルトの名無しさん:2012/01/24(火) 01:54:43.15
世の中にはCで書かれたCGIもあるんだぜ
しかも身近に
679デフォルトの名無しさん:2012/01/24(火) 08:33:13.29
中国人が抱く外国イメージ 「韓国人は横柄な歴史ドロボー」

中国にとってトラブルの絶えない韓国へのイメージで最も支持を得たのは「歴史ドロボー」だった。
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
index.cgiを開いたらバイナリだったでござるの巻
681デフォルトの名無しさん:2012/01/25(水) 17:49:38.95
ぶっちゃけもはやスクリプト自体はutf-8で書くことが多くなってるし
jperlとか害悪としか思わない
682デフォルトの名無しさん:2012/01/25(水) 22:47:18.47
早く社会に出て役立つプログラム作ろうな。
683デフォルトの名無しさん:2012/01/26(木) 00:24:25.93
企業は競争力や応用力を判定している
薀蓄は相手にしていない
684デフォルトの名無しさん:2012/01/27(金) 01:25:11.60
ぶっちゃけ単にエンタープライズ環境を知らないだけなんだろうな
10年、20年と動かすソフトウェアを流行りに合わせて書くわけには
いかんからな
685デフォルトの名無しさん:2012/01/27(金) 02:22:30.64
Java4が稼動してそうで怖い話だな。
686デフォルトの名無しさん:2012/01/27(金) 08:36:33.85
Java4のソースコードなら
今も最新Javaで普通に動く。
687デフォルトの名無しさん:2012/01/27(金) 13:36:37.34
>>686
コーディング規約でJava1.4縛りってあるものなの?
Java5以降の機能は使用禁止みたいな。
688デフォルトの名無しさん:2012/01/27(金) 17:46:45.90
>>687
ジェネリックス禁止とか、for-each文禁止とかは企業なら普通にあるだろ。
互換性もそうだが、Javaオタクを排除して誰でも保守できるようにするという
重要な側面がある。

まあ、Java5、Java6で初めて追加された有用なクラスライブラリもあるから、
それはあくまでコーディング規約上の問題で、コンパイルと実行にはJava6を
使っているというケースもあるが。

……スレ違いだがマジレスしてしまった。
689デフォルトの名無しさん:2012/01/27(金) 21:00:28.98
>>688
なるほど、過去のバージョンに固定しての開発は普通にあるのね。
ジェネリクスは置いといて、auto-boxingが無いだけでも面倒そう。
690デフォルトの名無しさん:2012/01/31(火) 09:38:20.86
ActivePerlでWin32::GuiTestを使いたいのですが
PPMに出てきません
どこに有りますか?
691デフォルトの名無しさん:2012/01/31(火) 20:25:29.54
>>690
はずしているかもしれませんが、guitestまたはwin32-guitestで
検索してみてください。Win32::gutestでは出てきません。

あと、ppmが走っているようなので大丈夫のようですが、ユーザー名に
日本語を使用するとppm関係でこけた記憶があります。
692デフォルトの名無しさん[:2012/01/31(火) 21:17:48.24
>>691
ありがとうございます
試してみます
693デフォルトの名無しさん:2012/01/31(火) 23:18:31.55
>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
以下のスクリプトで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 );
695694:2012/02/06(月) 10:07:01.90
$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
proxy経由しないでも同じ結果か等の原因の切り分けはしたの?
697デフォルトの名無しさん:2012/03/04(日) 19:10:14.90
.(ピリオド)を_(アンダースコア)に変換しようとして、\マークを付け忘れたので、
ファイルの全てが_で埋め尽くされたファイルが出力されたorz
698デフォルトの名無しさん:2012/03/05(月) 00:59:57.32
便箋w
699デフォルトの名無しさん:2012/08/04(土) 13:16:49.80
Perlコード汚すぎる。
700デフォルトの名無しさん:2012/08/04(土) 13:29:41.35
俺なんかそのまま納品して、夏休みとった年があるw^_^
701デフォルトの名無しさん:2012/10/17(水) 18:25:33.11
文字列の処理が容易である
とくに文字列のパターンマッチ能力に優れている
動的データの処理に優れている
OSとの連携に強い(OSのコマンド、GUIツールキット)
インタプリタ型である
(スクリプト言語に共通する特徴)

スクリプト言語のいろは|Cマガジン2000年10月号
702デフォルトの名無しさん:2012/10/20(土) 14:50:00.72
> 文字列の処理が容易である
もちろん「2000年10月の時点では」っていう意味だろうけどねw

CがC++になって迷走するのと同様、Perlも赤の他人が拡張すると迷走して
その後は...
703デフォルトの名無しさん:2012/10/24(水) 02:32:36.90
>>699
もともと、アドホックな使い捨てのコードを書くための言語だからなー。
コードの保守性とか再利用性とか始めたらダメ。
可読性なんて考えずに、組み易い書き方で手早く作って、
パッと使って、そんでおしまい・・・というのが正しい使い方。
704デフォルトの名無しさん:2012/10/25(木) 11:28:52.33
保守性・再利用性ならCOBOL一択だよね!!
705デフォルトの名無しさん:2012/10/26(金) 01:46:36.75
同じような仕事にしか使わんからな。
706デフォルトの名無しさん:2012/11/10(土) 11:32:03.17
今の時代ならDSLといえば
COBOLのすばらしさが分かるだろう。
707デフォルトの名無しさん:2012/11/10(土) 13:11:12.89
read うんたらかんたら
at end
* EOF時の処理
not at end
* 読めたときの処理
end-read

のファイル入力構文は初めて見たときカルチャーショックだったな
708デフォルトの名無しさん:2012/11/17(土) 14:18:46.56
言語が違えばやり方は違うんだから想定の範囲内だがな
むしろC言語系の方が後からできたわけだから(いい意味で)カルチャーショック
だったが
いずれにしても遠い過去の話だな、おじいさんよ
709デフォルトの名無しさん:2012/11/17(土) 17:59:06.65
>>708
いやJavaを先にやってたから
後でCOBOLのコード見たときにカルチャーショックだったんよ
EOFを返してもらうんでなく、構文としてやるってのがね
710デフォルトの名無しさん:2012/11/17(土) 20:21:00.74
でもパソコンじゃあC言語の前にBASICがあって、それって
いま言ってるCOBOL風になってなかったっけ?
709はパソコンの創世記を知らない若い世代なのかな
711デフォルトの名無しさん:2012/11/17(土) 21:32:41.75
>>710
昔を知らないのは当たり…なのかな、自分が使ったことのあるBASICは
VBとか、N88なら互換系BASICくらい
(PC98でのN88も「その時点で既に年代物として」一度だけ触ったことはある)
でもそれらもC系と同じくEOF()関数みたいなので判定する形式だったような…
EOF判定自体をブロック構文にしてしまってるのは今のところCOBOL以外見たことないっす
712デフォルトの名無しさん:2012/12/03(月) 14:49:49.57
初心者を育てるのがPHP、初心者を袋叩きにして人格否定までするのがPerl
713デフォルトの名無しさん:2012/12/03(月) 23:15:25.81
PHPもPerlもただのプログラミング言語だから育てたりとか袋叩きにしたりとかはしない。
というかできない。
なにか違う次元の違うしろもののことを言ってるんだろうけど異次元の住人の話はよくわからんな。
714デフォルトの名無しさん:2012/12/04(火) 00:49:41.86
「同じ問題でも解き方は人によって違っていい」ってのが Perl の思想だからな。
人格否定なんてありえない。
715デフォルトの名無しさん:2012/12/04(火) 05:53:42.12
解き方は人によって違っていいが
書き方は統一しろ。
716デフォルトの名無しさん:2012/12/05(水) 08:28:36.86
>>715
コード整形ツールを使いたまえ
717デフォルトの名無しさん:2012/12/15(土) 21:53:54.04
初心者を袋叩きにして人格否定までするのはモダンPerl。
いわゆる普通のPerl利用者はそんなことはしない。混同しないこと。
718デフォルトの名無しさん:2012/12/16(日) 00:08:21.80
> 初心者を袋叩きにして人格否定

誰のこと? そんな人いないよ。
719デフォルトの名無しさん:2013/01/12(土) 17:48:21.31
え?
720デフォルトの名無しさん:2013/01/13(日) 04:08:36.23
>>718←何言ってんのコイツwww
721デフォルトの名無しさん:2013/01/20(日) 03:19:14.74
>>717
トロールのトロールのトロールみたいなコミュニティだよね。モダンperlって
722デフォルトの名無しさん:2013/01/28(月) 23:19:32.03
いろいろ複雑なテキスト解析をして、最終的にExcelのファイルにしたい
要は、既にあるExcelのファイルとフォーマットは同じで、
中に書いてあるテキストだけ入れ替える感じ

どういうステップを踏むのがいちばん楽だろう
723デフォルトの名無しさん:2013/01/28(月) 23:54:01.34
一回こっきりならコピペだな
724デフォルトの名無しさん:2013/01/29(火) 00:06:13.05
一回なら間違いなくそうするけど、
多分、100近くある
725デフォルトの名無しさん:2013/01/29(火) 00:37:27.03
csvでいいならcsvを吐き出せばいいが
Excelブックを作りたいならPerlでできるのかそれ
726デフォルトの名無しさん:2013/01/29(火) 03:02:33.78
ファイルのi/oでexcelのシートを作るのは面倒だから、
use Win32::OLE::Const 'Microsoft Excel';
で、ExcelのセルいじっちゃいなYO
727デフォルトの名無しさん:2013/01/29(火) 08:21:49.20
Perl使いをなめるなよ
CPANにはExcelファイルを出力するモジュールがいっぱいある
ttp://search.cpan.org/search?query=Excel&mode=all
728デフォルトの名無しさん:2013/01/29(火) 19:31:23.69
ダイレクトでxlsを吐くんじゃなくて、
一旦テキストに出して、そこからxlsを作るExcelマクロを走らせるのが楽

全部perlでとか、全部Excelでやろうとすると、手間が増える上に保守性も落ちる
729デフォルトの名無しさん:2013/02/17(日) 02:01:28.40
うん、Excelファイルはすごく複雑
MS以外が不具合なしに扱えるものじゃない。
絶対バグでハマる。
730デフォルトの名無しさん:2013/02/17(日) 09:22:06.54
中間ファイルのフォーマットをきっちり決めて、
Excel 側で、マクロなりインポートなりで、
データ取り込む手段を確立して、
それに合わせてファイルを生成するのがおそらく一番間違いが少ない。
731デフォルトの名無しさん:2013/02/17(日) 13:36:57.25
>>722は結局どうやったんだろうね
732デフォルトの名無しさん:2013/02/23(土) 00:52:05.88
Perlでテキスト⇒テキスト変換をして
UWSCでExcelに取り込む
実はUWSC内で上のPerlも実行するから一発で処理が終わる
733デフォルトの名無しさん:2013/04/30(火) 09:44:36.72
ペルシャ湾で天然真珠調査 世界遺産「復活」に協力 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
なでしこでいいじゃん
735デフォルトの名無しさん:2013/11/03(日) 19:00:39.80
お前らにはどう見えるか知らないが俺にはこう見えてるぞ

print
誰からも愛されてる元気な女の子
気が利いて周囲に信頼されている
グループ行動の時、希に大遅刻をしてしまう

if
普段から冷静で状況把握が得意
二人の親友と一緒に行動する事が多い
予想外の事が起こるとパニックに成りやすい

elsif
リーダをサポートする役割を買って出る好奇心大制な女の子
あたふたしている間に他の子が作業を終らせてくれている事も有る

else
めったに喋らないが一言で状況を変えてしまう天才型
ifと仲が良く、いつも隣に居る
一日、1回はifと手を繋がないと泣き出す

{}
双子の活発な女の子
いつもターゲット(printf)を挟み撃ちにしてほっぺっとほっぺでギューっとする
最後に軽くキスをして誤るのが恒例行事に成っている
736デフォルトの名無しさん:2013/11/03(日) 19:02:27.31
()
若干、中二病の女の子
頭が良く、成績優秀だが中二病発動中、常識がまさる事が多いので
完全に中二病になりきれていない
+
凄く普通な女の子
なんでも出きるが、それ故に目立たない
欠点という欠点も見あたら無い
char
ちょっとカラフルな女の子
グループ内で中心的存在、だけど、結構な寂しがり屋
周囲からはカッコイイけど2人きっりの時に、後ろから抱き締めたくなる
っと、囁かれている
open
豪快な性格、隠し事が嫌いで、聞かれたら下着の色まで答えてしまう
裏表ない彼女の性格は周りからは好かれている
授業中でもキスしたいと思ったらキスしたいと叫んで強引キスしようとする。それを周囲が
なだめる事もしばしば…欲望に直球なだけかも知れない
==
会議でのまとめ役、分析が得意で計算もはやい
アニメが大好きで会議中でも時間が来たら勝手に切り上げて帰ってしまう
優秀な人材が居なくなるのは避けたい***は、会議室にテレビを設置したとか…
unless
doと、、いつも一緒で、犬が大好き
特に柴犬が好きで週に3回は触れ合いランドに出かける
明るい彼女に寄って来るのは何故か大人しい犬ばかり
do
犬が大好きな小柄な女性
独特の雰囲気をかもし出している彼女には活発な大型犬が集まりやすい
涎で帽子が湿っている事もしばしば有る
unlessからは活発な犬に好かれているのでやきもちを焼かれる事も…
737デフォルトの名無しさん:2013/11/03(日) 19:20:30.34
>>736
今日一日頑張ったな
738デフォルトの名無しさん:2014/02/23(日) 00:44:51.23
eq くんを忘れないであげて!
必要不可欠な子なのに、新人さんに中々顔を覚えて貰えないのは不憫すぎるよ!
739デフォルトの名無しさん:2015/01/04(日) 20:46:18.22 ID:nh9ErZF8
てすてすてs
740デフォルトの名無しさん:2015/01/04(日) 23:00:46.21 ID:xcUbwpxr
active perl は DBD::MySql に対応するつもりは無いの?
古いバージョンでは動作するけど、無償ダウンロードできないし・・・
やる気あんのか?>active
741デフォルトの名無しさん:2015/01/22(木) 21:49:15.27 ID:Ciz/VR24
active perlなんか使ってる奴いるのか
742デフォルトの名無しさん:2015/01/26(月) 00:28:29.03 ID:Nas4rFKx
インストールが楽だ
743デフォルトの名無しさん:2015/01/26(月) 07:52:18.18 ID:j1pP3PkZ
DBD::MySQLはMySQLに同梱されてなかったか?
744デフォルトの名無しさん:2015/02/22(日) 11:59:05.28 ID:ER52YIGr
flex 使うのも場合によってはありかな。
745デフォルトの名無しさん:2015/02/23(月) 15:01:38.78 ID:IgyMEIlv
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
746デフォルトの名無しさん:2015/02/27(金) 04:12:53.96 ID:SYx5FGl1
最近はWindowsだと Strawberry Perl 使ってるなあ
747デフォルトの名無しさん
なにそのPerl