X



Perlについて
0002デフォルトの名無しさん
垢版 |
2008/08/04(月) 21:33:25
2 get
0006デフォルトの名無しさん
垢版 |
2008/08/05(火) 18:41:17
Perl6ってさあ、中途半端にPerlにしがみついてないで、
思い切って全然別な名前にしちゃったらいいと思うんだ。
0007デフォルトの名無しさん
垢版 |
2008/08/05(火) 19:03:36
Perl on Ruby
0008デフォルトの名無しさん
垢版 |
2008/08/05(火) 21:58:22
JPerl
0010デフォルトの名無しさん
垢版 |
2008/08/08(金) 08:05:38
パールのようなものを使って・・
0012デフォルトの名無しさん
垢版 |
2008/08/09(土) 18:28:58
文字列連結に、.(ドット)を使ったのが失敗の始まりですか?
0013デフォルトの名無しさん
垢版 |
2008/08/10(日) 11:35:55
みんなもう、Perl 5.10 入れてる?
0018デフォルトの名無しさん
垢版 |
2008/08/13(水) 21:29:06
Pearlでもてたい。
0022デフォルトの名無しさん
垢版 |
2008/08/18(月) 18:17:23
>>12,15
動的型の活用を演算子によるコンテキスト明示によって実現するというアーキテクチャだからね。
Perl の目立つ特徴のひとつだけど、好みの分かれるところなのかな。
0024デフォルトの名無しさん
垢版 |
2008/08/18(月) 18:52:06
>>14
オブジェクト指向にするとき、.じゃなくて、->にしなきゃならなかったから
0025デフォルトの名無しさん
垢版 |
2008/08/21(木) 18:49:35
^..^ を英語でも neko演算子っていうんですかね?
0026デフォルトの名無しさん
垢版 |
2008/08/22(金) 04:14:32
少なくとも2005年の OSCON では Damian Conway が自身のセッションの中で "neko operator" と呼んでいたとまつもとさんがレポってたのがググったら一発目に表示されたので聞く前にググれ。
0027デフォルトの名無しさん
垢版 |
2008/08/23(土) 01:18:48
>>13
v5.10.0
メインのクライアントは Windows XP なので ActivePerl 1002。
いまんとこ過去のどのバージョンより快調よん。
0028デフォルトの名無しさん
垢版 |
2008/09/02(火) 21:26:30
久しぶりにActivePerlを入れたら、PPMがGUIになってて驚いた
0029デフォルトの名無しさん
垢版 |
2008/09/03(水) 01:42:33
ppm-shell もあるよん。
GUI もええけど、初期化時の同期に時間かかるので、目的によって使い分け。
0030デフォルトの名無しさん
垢版 |
2008/09/03(水) 18:13:02
>>29
おおー、コマンドライン版も健在なんすね。
0032デフォルトの名無しさん
垢版 |
2008/09/06(土) 15:04:07
@array = (1, 2, 3);
print @array[1]; # ->2

%hash = (a=>1, b=>2, c=>3);
print @hash{b}; # ->2

%hash{b} という表記にすべきじゃない?
0033デフォルトの名無しさん
垢版 |
2008/09/06(土) 16:41:33
>>32
それは配列のスライスと、連想配列のスライス

@array[1,2] は ($array[1], $array[2])
@hash{b,c} は ($hash{b}, $hash{c})

とそれぞれ等価
0035デフォルトの名無しさん
垢版 |
2008/09/06(土) 20:39:16
$ == scalar を返すもの
@ == list を返すもの
% == キーと値のリストを返すもの

評価時の挙動が後から見て分かりやすいので、Perl5 式のほうが好きかも。
でもきっと慣れれば一緒だな。
0036デフォルトの名無しさん
垢版 |
2008/09/07(日) 02:08:31
 読みやすさにだけ関していえばPythonが一番であり、Perlが最下位になる、というのが筆者の意見だ。
筆者はPerlを「開発専用」言語に分類することが多い。Perlのプログラマーは、最もコンパクトで簡潔な
コードの開発を高く評価する文化を取り入れたのだ。これは通常、読みやすさを犠牲にして成り立つものだ。
これに加え、Perlには特殊な変数を使う問題がある。いったんPerlの慣用語法に慣れてしまえば、
特殊な変数の多くも分かるようになるが、Perlをまだ学習中だと、Perlプログラムを読むことが象形文字を解読するに等しくなる。
Perlは、見た目がかっこよく、一見して理解できないコードで非常に巧妙な処理ができることを技術屋が喜び勇んで見せびらかせる言語だ。
ワーチェスター工芸研究所業務学教授
Gary Pollice

・・・ということらしいですが、みなさんみなさんはりきって見た目がかっこよく、一見して理解できないコードで非常に巧妙な処理ができることを喜び勇んで見せびらかしてください↓
0038デフォルトの名無しさん
垢版 |
2008/09/07(日) 15:53:33
つまり、
「一見して理解できないコードで非常に巧妙な処理ができることを技術屋が喜び勇んで見せびらかせる言語」
なんだから
「評価時の挙動が後から見て分かりやすいので」
とか言ってんじゃねえよ

ってことですね?
003935
垢版 |
2008/09/07(日) 17:15:19
w なるほど。
とはいえ Perl は使わにゃならんし、
一応ここ Perl スレだしさ。
0040デフォルトの名無しさん
垢版 |
2008/09/07(日) 20:33:34
【コミュニティーサイト作成有志募集!】

現在コミュニティーサイトGaccoで有志を募集しています。
詳しい概要等は
http://www36.atwiki.jp/vipvipschool/
こちらをご覧下さい。

・プログラミングができる方
(現在技術陣は6名です)
・ウェブデザイン・画像編集能力がある方
(現在デザイン陣は2名です)
・宣伝能力のある方
(人員募集やサイト完成後の宣伝等。動画編集ができると○。)

を募集しています。
気軽にIRCに参加、またはsuteあっと2ch.bona.jpまでメールを下さい。

スレッド:ttp://ex14.vip2ch.com/test/read.cgi/news4gep/1219068297/l50
0041デフォルトの名無しさん
垢版 |
2008/09/08(月) 18:54:46
>>33
なるほど、リストに展開されるわけですか

>>34
やっぱり、ラリーもそっちの方がいいと思ったわけですな

>>35
自分はまだ初心者なんで、まだ慣れてないっす
0042デフォルトの名無しさん
垢版 |
2008/10/07(火) 18:05:57
みんな本は何を読みましたか?
ラクダ、PBP、クックあたり?
0050デフォルトの名無しさん
垢版 |
2008/11/19(水) 18:49:52
Perlクックブックを買いました。
これから勉強します!
0052デフォルトの名無しさん
垢版 |
2008/11/20(木) 13:34:04
Practical
Extraction
Report
Language
(実用データ取得レポート作成言語)

Pahtologically
Ecletic
Rubbish
Lister
(病的に様々な要素を取り入れたポンコツリスト出力機)
を並べて見ると、ついにやにやしてしまう(・∀・)
0058デフォルトの名無しさん
垢版 |
2009/01/31(土) 00:50:33
『Perlクイックリファレンス』(ラクダの頭本)は必携だよな
0060デフォルトの名無しさん
垢版 |
2009/02/16(月) 00:40:19
近所のブックオフみたいなとことで
昔の1冊本が200円なのですが、これは新しい2冊本でないと
用を成さない物ですか?
0067デフォルトの名無しさん
垢版 |
2009/08/27(木) 11:53:41
型グロブのsigilであるアスタリスク(*)がワイルドカードを表していることを知って、型グロブのことが
少し分かった気がした。
0069デフォルトの名無しさん
垢版 |
2009/09/03(木) 16:38:17
my @arr = qw(a b c);

はよく使うけど、

my @arr = qq($a $b $c);

があるとは知らんかった。

0071デフォルトの名無しさん
垢版 |
2009/09/03(木) 20:13:52
>>70
よく見たら、$arr[0]に全部突っ込まれてたわ orz
0075デフォルトの名無しさん
垢版 |
2009/09/04(金) 15:36:21
>>74
おいおい接続','の後には空白書くだろ普通。英字タイプ時代からの作法。
たまに詰めて書く人いるけど見苦しくてやだ。
0077デフォルトの名無しさん
垢版 |
2009/09/04(金) 15:48:30
>>76
エスケープやクオートがうっとおしいからqqやqwがあるわけで、
変数展開するqwとか別にいらねっつーかメタ文字気にしなきゃいけない分
余計かったるいというか。
0078デフォルトの名無しさん
垢版 |
2009/09/04(金) 16:50:02
my @arr = qq($a $b $c $d $e $f $g $h); は38文字 勝った!
my @arr = ($a, $b, $c, $d, $e, $f, $g, $h); は43文字 プギャー!
0079デフォルトの名無しさん
垢版 |
2009/09/05(土) 11:43:35
>>78
5文字しか変わらないし可読性もあまり変わらない罠。意味ない。

@arr = ("hoge", "fuga", "hage", '""', "'a");
@arr = qw( hoge fuga hage "" 'a' );

は明らかに後者が読みやすいし文字数も少ない。
0083デフォルトの名無しさん
垢版 |
2009/09/11(金) 18:20:30
馬鹿者、行かないやつがあるか。
これ受けるために台湾からわざわざ来てた人もいたくらいだ。

ちなみに、今日そこで聞いてきた話だが、どっかのスレで、Perl6のハッシュの表現が、

%foo<'abc'>

のように大なり小なりになってるのを不思議がっていた人がいたが、答えは、
Perl6では、全ての { .. } がクロージャとみなされるからだそうだ。
0086デフォルトの名無しさん
垢版 |
2009/09/11(金) 21:04:34
互換性をなくすのなら、$@%&*もとっぱらっちゃえばいいのに
0089デフォルトの名無しさん
垢版 |
2009/09/12(土) 09:42:10
YAPC、これ以上参加者を増やそうと思えば、内容のレベルを下げないと駄目だろうな。業務で普段からCatalystやMooseを使っているプログラマーじゃないと、参加してもまったく意味不明な話ばかりだからな。
0090デフォルトの名無しさん
垢版 |
2009/09/12(土) 09:49:03
>>84
Perl6では全てのブロックはクロージャと呼ばれます。

>>85
今どきHTMLドキュメントに直にハッシュ埋め込んで困るケースなんてあるの?例えば?終わってるのは(ry

>>86
逆に$@%&*を利用しなきゃならん場面は増えるし、(連想配列の参照は$foo{'abc'} -> %foo<'abc'>)
それを歓迎する人は恐らくいないので、何でもスカラにリファレンスで突っ込んで使うのがよりモダンになるだろう
というのがdankogaiの見解。$@%&*が嫌ならPHPなりJavaなり勝手に使えとかそういう話。

>>87
ああ、確かに。一定のスキルのないと訳わかんないだろうし、英語わかんない人は時間の無駄だわな。
0091デフォルトの名無しさん
垢版 |
2009/09/12(土) 09:58:22
>>89
興行じゃないんだからさ、参加者数なんてある程度集まれば充分なの。
チケット早々に売り切れたっつーのに参加者増やしてどうするつもりだよw
一定のレベル保ってるのが売りなのに参加者増のためにレベル下げるとかw
0092デフォルトの名無しさん
垢版 |
2009/09/12(土) 10:26:26
今回の目標は、このイベントというかPerlをもっとエンタープライジーにすることだろ。
そのためには、Perlを利用してない会社、プログラマーも参加出来るようにするのは方法の一つ。
まあ、最初のセッションみたいにひたすらミクシイアプリの宣伝聞かされるのは確かに苦痛だけどな。
0094デフォルトの名無しさん
垢版 |
2009/09/12(土) 21:55:45
>>92
>>91だが、講堂を5箇所くらいにして、残り2つで企業向けとか初心者向けの講演をするってのはありかもな。
アプリの宣伝って初日10時からのか?興味ないから朝飯食って芝生で寝てたわ。行かなくて良かった。

あと流行ってもいない聞いたこともない作者も誰あんた?なオレオレモジュールの講演も超うざい。

YAPC::Asia 2009 俺的まとめ

-----今回の頻出モジュール-----
Moose 前提
Catalyst 前提
AnyEvent
Coro
*::Engine
*::Async

---頻出主題(交錯してまつ)----
PostModern Programming (FW, Async, ED, Sustain)
Flamework
Async. / Thread
Event Driven Programming
Scalability
Perl6 (Rakudo, Pugs)
PSGI

----- :P ------
AnyEvent::* may sucks
POE sucks
Perl thread sucks
0095デフォルトの名無しさん
垢版 |
2009/09/14(月) 18:53:23
>>90
>Perl6では全てのブロックはクロージャと呼ばれます。
マジすか!
Perl6がますます怖くなるな…。

ちなみに、そのクロージャというのは、
意味的にもいわゆるクロージャのことで
おk?
subとか不要になるの?
0097デフォルトの名無しさん
垢版 |
2009/09/15(火) 22:26:36
     ...| ̄ ̄ |<ご苦労じゃ
   /:::|  ___|      ∧∧    ∧∧
  /::::_|___|_   ( 。_。).  ( 。_。)
  ||:::::::( ・∀・)    /<▽>  /<▽>
  ||::/ <ヽ∞/>\  |::::::;;;;::/  |::::::;;;;::/
  ||::|   <ヽ/>.- | |:と),__」   |:と),__」
_..||::|   o  o ...|_ξ|:::::::::|    .|::::::::|
\  \__(久)__/_\::::::|    |:::::::|
.||.i\        、__ノフ \|    |:::::::|
.||ヽ .i\ _ __ ____ __ _.\   |::::::|
.|| ゙ヽ i    ハ i ハ i ハ i ハ |  し'_つ
.||   ゙|i〜^~^〜^~^〜^~^〜|i~
0098デフォルトの名無しさん
垢版 |
2009/09/16(水) 17:19:02
>>95
とりあえずPerl6に行きたい人はMooseマスターしとくと吉。
MooseはPerl6のアイデアをPerl5で実現するためのモジュールと言って差し支えない。

それか、Pugs, Rakudoをインストールして実際にPerl6に触れてみるか。
PugsはPerl6の仕様に近いが、コンパイルが超めんどくさいらしい。
Rakudoはまだ挙動が怪しいが、コンパイルは比較的簡単に通るらしい。

なんか、現状だとPerl6ってのが仕様で、PugsとRakudoが実装みたいなことになってる。
リリースする時には統一するんだろうけど。多分。
0099デフォルトの名無しさん
垢版 |
2009/09/16(水) 18:06:53

          ___
       _/川川川\__      ____________
      /||/川  \||||川||| \   /
      ||川||| ∩  卅川川川  / ふわふわムースが
        (||  ・  ・ ||)   <   くちのなかで とけぇんねんっ(はぁと)
         人 " ∀ "刈    \____________
     ┌―┐/⌒ /乂ノ⌒ヽ ___
   /~|^^^^|(⌒○ § ○⌒)    ~\
   ==└―┘== == == == == == == ==
     ┃                  ┃
     ┣━━━━━━━━━┫
     ┃  /_Υ⌒Y⌒Y_ \   ┃
     ┃  |  |  ∧ ハ. ̄|  ┃
     ┃  | /___/  \__\||  ┃
     ┃  / /    \._\ ┃
     ┣--/ ノ--------┼-》-┫
     ┃ Lノ         し'  ┃
0101101
垢版 |
2009/09/17(木) 09:48:15
このスレッドは100を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
0104デフォルトの名無しさん
垢版 |
2009/09/18(金) 08:47:18
if ( $str =~ "abc" ) {

というステートメントを見て、この人、

if ( $str eq "abc" ) {



if ( $str =~ /abc/ ) {

がごちゃになってると思ったけど、正規表現の区切り文字って、別に / / でなくてもいいんだね。
0106デフォルトの名無しさん
垢版 |
2009/09/18(金) 10:00:32
>>104
正規表現の区切り文字がなんでもいいのではなくて、=~演算子の右辺が式のときは
値をパターンとして解釈するだけ。見かけは一緒だけど\に注意。正規表現の区切り
文字を変えたいならqr使え。
0107デフォルトの名無しさん
垢版 |
2009/09/18(金) 10:46:59
>>106
qrなんか使わなくてもmを接頭すれば充分。qrは括弧類が通るのが売り。

print "whoa" if $a =~ m"aa$"; # OK
print "yeah" if $a =~ "aa$"; # Syntax Error

% perl -e '$a = "foo"; print "whoa\n" if $a =~ m"foo$";'
whoa
% _

0108デフォルトの名無しさん
垢版 |
2009/09/18(金) 12:55:32
mもquote-like operatorだからカッコ使えるよ。

% perl -e '"hoge" =~ m(hoge) and print "match";'
match

qrとmは別物だろ。単独で使ったときmは$_とマッチして
結果を返すけど、qrは正規表現を表す値を返す。

% perl -e '$_ = "hoge"; print m/a/ ? "true": "false"'
false

% perl -e '$_ = "hoge"; print qr/a/ ? "true": "false"'
true
0111デフォルトの名無しさん
垢版 |
2009/09/30(水) 13:06:56
>>109
普及度のランキングだろ。それにPosition 2008とかDeltaとか見ると分かるが、
去年はPython-Perlの順で、今年になって1ポイントも急落してる>Python。

あと、本文をみるとものすごく恣意的なランキングだということが分かる。

> The ratings are based on the number of skilled engineers world-wide,
> courses and third party vendors. The popular search engines Google,
> MSN, Yahoo!, Wikipedia and YouTube are used to calculate the ratings.

適当訳:この格付けは世界中の、熟練したエンジニア、講座、サードパーティー
の数を元にしている。格付けの計算には普及しているサーチエンジン、Google,
MSN, Yahoo!, WikipediaやYouTubeが使われた。

メチャクチャだろこれ。

CとかJavaとか言語名でググって、検索結果の数足し算して、母数で割っただけじゃないのか?
PHPは会社名だったり通貨だったりするし、Javaは地名だし、Pythonは生き物の名前だし、
そんな統計に意味があるとは思えん。
0112デフォルトの名無しさん
垢版 |
2009/10/07(水) 15:44:16
Perl 5系もまだまだ頑張るんだね

「Perl 5.11.0」リリース 次期安定版のバージョン5.12に向けた開発版
http://codezine.jp/article/detail/4470
0113デフォルトの名無しさん
垢版 |
2009/10/08(木) 11:11:05
スマートマッチ”~~”があるから、==、eq、=~の使い分けの必要性がなくなったね
0117デフォルトの名無しさん
垢版 |
2009/10/30(金) 11:41:24
誰か質問スレのスレ立てをよろしく
0119デフォルトの名無しさん
垢版 |
2010/04/15(木) 17:03:12
Perl.5.12リリースあげ
0129デフォルトの名無しさん
垢版 |
2010/04/21(水) 15:52:50
>>128
日本語版が出るのはいつだろうか。
その頃にはPerl6がはやってて、Perl5は廃れてたりとかw
0130デフォルトの名無しさん
垢版 |
2010/04/21(水) 17:34:21
>>129
Perl5とPerl6は違うものだから廃れはしないよって。
Perl6もやるとは思うけど、Perl5の$%@が好きだからこのままPerl5使いたい
0137デフォルトの名無しさん
垢版 |
2010/05/19(水) 00:31:12
もう本がいらないくらいにPerl理解したから、いまさら感があるんだが、
それでもPErlの日進月歩の進歩確かめたい人が買うのかねぇ
しかも原書で

もっともネットのドキュメントも英語だから気にならんけど・・・
0139デフォルトの名無しさん
垢版 |
2010/05/19(水) 09:28:43
はてなダイアリーで連載するのはやめてくれよ
あそこ糞重い上に見通しが悪い
最近じゃ糞の役に立たんリファレンスっぽいものを書いてる奴までいる始末だし
0140デフォルトの名無しさん
垢版 |
2010/05/19(水) 13:36:20
ブログは後々読み返すのが難しいから技術的なことを書く用途には使わないでほしい。
というか技術的なことしか書くことが無いなら日記なんてやめてしまえw
0142デフォルトの名無しさん
垢版 |
2010/05/19(水) 22:16:44
確かに最近はブログ以外に書く人少ないな
はてなダイアリーで調べるのに何の違和感もなかったw
0146デフォルトの名無しさん
垢版 |
2010/05/20(木) 20:22:12
良いブログは良いんだが、
自分は理解する能力の無いお馬鹿ちゃんなので上手くできませんでした。まる。
みたいなブログに埋もれちゃってるんだよねw
0150デフォルトの名無しさん
垢版 |
2010/06/24(木) 22:09:21
Perl(R)は株式会社テラ・インターナショナルの登録商標です
0152デフォルトの名無しさん
垢版 |
2010/07/23(金) 13:43:48
オレはきずいたらPerlという重力が0.5倍で暮らしていた
perl星の敵は楽勝だろうとなめていた
この星では通訳者がメモリ管理してくるし・・・すみごこちがよかった
そして地図を片手にwebアプリの洞窟へむかつのであった
途中には $や@,%みたいな意味分からないオブジェクトが散乱していた
向かう途中 use strict + use warning兄弟というやっかいものが参上してオレの行く手をはばんだ・・・
オレは必死にアロー演算でつきまくって攻撃してもやつらの 怒鳴り声はとまらない
myとかいわないと 自分の名前を名乗れとかほざかれて怒鳴られて殴られる
この兄弟を無事に倒すと楽な道に進めるが
こいつらを相手にしないと、過酷な道で遠回りになるときいた・・・
俺は倒すときめた オレ「しねえ!!」とパンチしてみるが 強すぎる
strict/warningの鬼「クハハハハハ お前良いメモリもってるな 住み心地が良さそうだ!」
俺の体の中にはいる
オレ「グワアアアアアア!!」
もう痛苦しくて休憩した
そして歩き続けた
途中でCPANというお店に立ちよって武装するが、LWPが人気なのでそれをかっといた
さまよってるうちに、製作所みたいな場所にたどりついた・・・
なんかオブジェクトといってモノをつくっている
オレ「なにつくってるの???」
???「newつくってんだよ・・・」
オレ「そんなの作る必要ない そこらへんにおちてる」
???「この星ではnewは自作しなくちゃいけないんだよ・・・」
オレはよくわからずとりあえず webアプリの洞窟まですすんでいった・・・
この国はおかしいときずきはじめた・・・道ばたで土下座してる人がいた さっきの街でみかけた
???という金の仏像の方角をむいて 皆おがんでいるのである
薄々きがつきはじめた 宗教なんじゃね?って
なんかcatalystとsledgeっていう伝説の剣があるらしくて
それは困難をくぐりぬけた者しか抜けないのであるときいた
オレはそれを抜こうとしたが ピクりともいわなかった 
もうオレはつかれたから宿でねることにした
0153デフォルトの名無しさん
垢版 |
2010/07/23(金) 13:47:27
オレは目が覚めた・・・
ふと思った。
この星にきてまだ1日目 自分が最初にいった C星にいたときとの重力が違いすぎて体が弱くなった
C星の時に、宇宙旅行でObjective-C星の旅行プランを立てて雑誌等を見てみて 良いなーって思っていたのであった
っで2年前に、Objective-C星に言ったときは、オブジェクト指向という街の方針をよくよんでなくて住み心地がわるかったのである・・・
その理由は家にすんでいた時に、その星はおかしく 夜中になると毎日dealloc大魔神という破壊神が家を壊しにくるのだ・・・
だからretainという魔法を使って星の住民は毎晩家をまもっている そして朝に魔法を解除しないと外出ができなくなる
そのためにreleaseという魔法をつかって結界を破壊するのである。 そんなめんどくさい星にはいたくない!という過去の事を思い出した

悩んでる結果 Perl星への旅行が決まったのである、その結果が今である。
今現在はまだ慣れてないだけであって苦労している。そしてwebアプリの洞窟を目指している途中 MySQL大図書館という所に立ち寄る
そこは膨大な本が置いてあり、一人の魔法使いらしき男が「select! insert!」などと杖をもって叫んでいるのである
オレ「ほ〜〜〜こうやって本を魔法であやつっているんだ」と思いみていた
そしたら横にいる戦士っぽい人が「param! fetch! サニタイジング剣法!!」といって本をばしばし切り裂いている
すごいと思い話かけてみると、「XSSって言う危険な生物が入り込んでる場合があるからね」1回本を切り裂いてチェックしてるんだよ
戦士「もしかして、君はwebアプリの洞窟にいくのか?」
オレ「うん」
戦士「よかったらこれをもってくんだ  mod_perl2のお守りだ これをもってれば洞窟の強力な磁場に耐えられる もってないと体が張り付いて重くなるんだ」
戦士「あとこれもだ DBIの剣 CGI.pmの盾 MySQL図書館の受信機 これくらいあれば安心して探索くらいはできるだろ 健闘を祈る」
オレは進んでいった 進んでいる最中に すごいでかいモンスターがでてきた
0154デフォルトの名無しさん
垢版 |
2010/07/23(金) 13:48:14
ハッシャー「我はハッシャー・・・ お前がここを通るなら我はお前を倒す」
オレ「さっきもらった 武器があるからいける!!」
オレ「hassher?attack=9999999&fireelement=100&send='%20%00login.html」
ハッシャー「そんなもの効かないよ バリバリ はははははは!!!」
オレ「!!!・・・」
ハッシャー「しねえ!!ハッシャースライス!!! ブハンブハンナウブハン!! (岩がまっぷたつ」
オレ「なんだあれは?!  やばいほんとに よけないと」
と思って避けたが 足にヒットしで大けがをして動けなくなってしまった オレはwebアプリ洞窟にいくまえに訓練場にいっておけばよかったと後悔して
ハッシャー「氏ね!」 おれは死を覚悟した・・・
そのとき!! ???「くらえ・・・」
???「念のため・・・$SIG[ALRM] alerm 20 xxxxx」
???「killall -hasher・・・ rm -rf ps aux 完了」
ハッシャー「うわああああああ!!グアアアアア!体が やめろ・・おまえは・・・」
???「PSGI PSGI・・・ node.jsハッ!!!」
ハッシャー「苦しい 毒がからだに・・・」
???「これで終わりだな・・・」
ハッシャー「うははははお前もこれで道ずれだ、ハッシュ解放・・・」 ハッシャーの腹から沢山のモンスターが溢れかえった
???「20秒経った」といったあと 一気に沢山のモンスターが消えていく
オレ「助けてくれてありがとう」と言おうとしたら姿を消していた
近くにいた老人「あの人たちはPerl大国ジパンーグを守る JPAギルドの聖騎士たちじゃよ そりゃ強い その強さは・・・」
0155デフォルトの名無しさん
垢版 |
2010/07/23(金) 14:02:30
そしてオレは そのギルドJPAの後をおった・・・そしたらだんだん気が遠くなってきた
気がついたらパソコンの前にいた、今までのは夢だったのろうか いやちゃんと痛みもあった
時計をみてみたが 全然時間が経っていなかったのである。
とりあえず気にせず Perlの勉強をしようとしたら 本が見当たらない
オレ「じゃあ インターネットでPerlしらべるか〜」
カタカタ・・・
オレ「あれ?Perlの情報がヒットしない でてくるのは真珠とかだけだ プログラミング perlでもでない」
なんかおかしい 異変にきずいた JPAのサイトを見に行ってみたがそんなサイトは無かったのである

オレ「もしかしたら・・・ この世からPerl言語が消されたのか!!?」
オレ「夢らしき世界の最後の時に、???と名乗る人物が「この星には未来がない 立ち去れ・・・」といっていたのを聞いた気がする」

消えてるっておかしいだろ?!そんなことはあるはずない と思いツイッターでPerlをやっている人のページをみた
口をそろえてこういっている
「Python最高!」といっている これは何かの間違え

ツイッターでPerlはどう?と質問したら Perlってなに?と回答される
オレはおかしさのあまりIRCにいった そしたら
「俺も変な夢をみた Perl星という世界で、敵に襲われていた旅人を助けた」
「Perlがこの世から消されているきがするんだけど」と会話しているのがきこえた」
どうやら記憶がある人たちがいるようだ でも問題は、どうやって記憶を取り戻すか
この星に言った人たちはPerlプログラミングの作業中に突然意識を失って perl星へいったといっている
pythonとの因果関係 なにかが裏でこの世界をpython色で染めようとしているのかもしれない
そして俺ふくめperlコミュニティの人々は立ちあがる・・・
0156デフォルトの名無しさん
垢版 |
2010/07/23(金) 14:15:41
そして俺たちは、夜の9時ちょうどに Perlの勉強をして再びPerlの世界へ行こうと約束をした
待ち合わせはMySQL図書館にした・・・
よしパソコンの前で勉強を開始・・・ そしてだんだん気を失っていった
オレ「あれ?・・・ここはどこだ 凄いグルグルまわっている 何かがおかしい」
オレ「break!!!」
回転がとまった・・・ 
しかし、そこは一面真っ暗で何も見えない グォオオオオオ・・・・と何かのうめき声が聞こえてくる
怖くなったのでひたすらおびえながらかがんでいた。でも早くIRCの人たちを捜さないとと困り果てていた
っとその時、突然誰かの声が聞こえた
???「取りあえずここは居てはまずい 他の場所へいこうか 少し目をつぶってくれ」
???「go to MySQL Library・・・」
オレ「すげえワープだ こんな能力があるとは・・・」
アーヘン「自己紹介遅れました 私の名前はアヘン IRCからきました 一応魔法使いです」
オレ「よろしく 俺は戦士みたい・・・魔法とかあんまつかえないし」
アーヘン「では MySQL図書館へと参りましょう」
そしてMySQL図書館へ・・・
アーヘン「なんていうことだ 図書館が崩壊している これはどういう事だ」
オレ「なんか地面や空間が歪んで見える・・・」
ジパンーグ兵「旅の人ですか?! 危ないです!! 向こうの方で巨大なメモリリークがおこっています!!逃げてください!」
オレ「メモリリーク?この星ではどんなかんじなんだろう・・・」
ジパンーグ兵「この世界では地面、物体などが全てメモリという見えない空間に格納されてできています メモリリークが起きたらそこの空間が崩壊しはじめ異次元へと飲み込まれてしまいます!!」
オレ/アーヘン「?!」
アーヘン「このままではまずい 一時テレポートしよう・・・ 目をつぶって・・・ go to mixser・・・」
アーヘン「おかしい 魔法が使えない どういうことだ!!!!!!」
ジパンーグ兵「もう終わりです・・・うああああ・・」
ジパンーグ兵がのみこまれてしまった
オレ「やばい・・・ 解放!解放!」
だめだ全然解放されない 力が足りなさすぎる
アーヘン「逃げた方が良い!!」
オレ「飲み込まれる!!! うあああああ!!」
0157デフォルトの名無しさん
垢版 |
2010/07/23(金) 14:21:16
誰かの声「まだ死んではいかん・・・グルウルルル・・・ お前に力をやろう 逃げろ そうだ逃げろ!!! お前は臆病者だ!!」
オレ「だれ?だれなんだよ!! なんだなんだ力が湧いてくる なんだこれは 体が再生している 早く逃げないと!!!」
シュルルルルルルル・・・ドロンッ
伝説の魔術師「dmesg... mysqlLibrary near memory Liberating!! kill 112」
伝説の魔術師「とりあえず治まりましたね topでプロセスを監視していたんですがメモリの異常事態にきずいてやってきました」
オレ/アーヘン「あなたは?・・・」
伝説の魔術師「私はミーガワ ではごきげんよう」
ドロンッ・・・
近くに居た老人「フォフォフォフォ・・・彼もここまで成長するとはの」
オレ「あなたはさっきも居た 誰なの?」
ンケト大王「フォフォフォフォ 気にするな ワシは ンケトワールドの元大王でな ワシの魔法はもう古いのじゃよ」
アーヘン「あなたがあの有名なンケトワールドの大王様? 私はあなたのweb魔法を参考にして学んできました」
アーヘン「あえて光栄です!」
ンケト大王「ッフォフォフォフォ まあガンバリたまえ 君等にCGIの大魔法を与えよう・・・ アンガタエ!!」
ンケト大王「param escape redirectなどが使えこなせるはずじゃ・・・」
オレ/アーヘン「ありがとう!」
ヒヒーン!!パカパカ 馬の走る音が聞こえる
JPA隊長「遅かったか・・・ もう解決していたのか」
mixser隊長「やつの仕業か」
ライブア隊長「ああ・・ やつだな」
ヒロヒロ(知恵の魔導師)「とうとう動きましたか」
オレ「あなたたちはもしかして・・・思い出せない 現実世界での企業の名前が記憶から消されている」
0158デフォルトの名無しさん
垢版 |
2010/07/23(金) 14:26:19
オレ「初めまして 何が起きてるんですか?この前は平和だったのに! あとヤツってだれ?」
ヒロヒロ「んー 簡単にいうと Python帝国の皇帝がPerl大国を潰そうとしているってことだね 
あとちなみにリファレンス技とか多重アロー攻撃も身につけといた方が良いよ ここら辺の敵は構造が複雑化しているからね 君の体には
use strict+use warningsの鬼が入っていて、君の力を制御している 禁断の技になるが 解放したら君の体がむしば
れるよ。ピンチになったら解放した方が良い 殺されたら現実世界に戻れなくなり存在が消されてしまう
でも君の体の中には何か莫大な何者かが眠っている それはなにかはわからないが・・・」
ヒロヒロ「そうだ君はつかれてるようだね 力をあげよう addmemory!!」
俺「なんか体に力がみなぎってくる すげえ〜」
ヒロヒロ「これは君にメモリをあげただけ 次からは暇さえあれば、瞑想をしてください
この世界で生きるには瞑想をして空間のメモリを吸収して自分のメモリをあげていく 
メモリが0になったら死亡だ・・・こまめに休憩して瞑想すること 敵がメモリーなどクッキーを落とすので食べれば良い 自分の力になる」
ヒロヒロ「一応 scopeという魔法もつかってみて これは相手もメモリーが数値化されてみえる ちなみに私をscopeしてみてください」
オレ「scope!!! ヒロヒロさんはメモリーが20MBってでた」
ヒロヒロ「ちなみにあなたは50MBです」
オレ「オオオ・・・すげえ」
ヒロヒロ「たぶん現実世界の体力などが関係しているのでしょう 
メモリがあってもテクニックがないと敵を倒すことができませんよ」
ヒロヒロ「ではJPAのギルドへ案内しましょう」
0159デフォルトの名無しさん
垢版 |
2010/07/23(金) 14:27:49
JPAギルド内ーーーーーー

JPA隊長「俺たちもうっかりしてられないぜ 北の方でゾンビプロセスたちが暴れ回っている」
ヤッホー(光の魔導師)「あーまじで?ゾンビ狩っていい???oppai oppai!!!」
ニンポタ(闇の魔導師)「ふぅ・・・ 世界の異変で死神がゾンビとか狩ってくれないようだ サイクルが崩れてやがる」

魔法剣士ツーカイシ「あーアーヘンさんも居たんですか 大変な事になってますね もう一人いますね こんにちは」

ヒロヒロ「しばらくここで休んでいてください いつモンスターが襲ってくるかわかりません ここはconstして結界をはってあるので ギルドを第三者から破壊される可能性はありません」

続く
0160デフォルトの名無しさん
垢版 |
2010/07/23(金) 14:29:55
Perl5大冒険の詳細

主人公(オレ) 白野真樹(シロノ シンジュ)
好きな言語はPerl,Objective-C

朝起きてiBookを立ち上げ、暇だったのでパソコンをしてプログラミングをしていた
外は真っ青に晴れ、快晴でセミの音がミンミンないていつもの夏休み・・・
そしてつかれたので、寝てしまった
以降、自分がこの事件に巻き込まれることは思っても居なかった

趣味:野球 ピンポン 筋トレ プログラマのバイト


幼なじみの 蛇山 みよし(ヘビヤマ ミヨシ)
パソコンにあまり興味が無いらしい、だけど前に遊びにいった時、彼の部屋でPython関連の本を見た事がある
パソコンに興味ないのになんで持っているんだろうと不思議に思っていた。

趣味:バイク 車関係の映画鑑賞 酒屋のバイト


高校時代の旧友  山下 誠吾(ヤマシタ セイゴ)
今現在はスリランカに住んでおり
鉱石や宝石の鑑定などを行っている
白野曰く 怪力である

趣味: ウサギの飼育 空手 柔道 筋トレ 地層調査
0162デフォルトの名無しさん
垢版 |
2010/07/23(金) 18:19:54
全然書き込んでねえくせに うぜえじゃねえよバカ^^しね
な?しねバーカが
0163名無し
垢版 |
2010/07/23(金) 20:48:44
この星の概要
この星では、酸素もあり呼吸もできる 重力は地球とさほど変わらない
現実世界と少しリンクしているモノがある 痛みがある
自分の体力はメモリであらわされる 呼吸など生命活動のたびにメモリーを消費していく だから人々は、モノをたべ
メモリを確保していくのだ 人の神経を司るのはCPUクロック数が速いほど、力がある
ただしCPUが高くてもメモリがないと力を意地する時間がへる メモリがあってもCPUが低いと非力である
モンスターも存在しており、やはり生存のため捕食する、そのため人間を狙う
カマをもったハッシャーなど 丸い形をした鉄壁を誇る アーリー
オールマイティーなグロブー たちの悪いモンスターは召喚といってBOTというモンスターを召喚してくる
他にはスプリッタというギタギタに切り裂いてくる凶悪モンスターも存在する まだまだモンスターは居るようだ

そしてこの星の、時間は1279844235というエポックタイム(unix時間)である おそらく誕生したのが1970年代
たぶん過去に冒険した人たちは数を多く居るのだろう、だがネットでそんな話を聞いた事は無い
記憶が消されるのか???
食文化
現在知っている、食べ物は、メモリなどクッキー、ルンパー(よくわからない骨付き肉みたいなモノ
とある言い伝えではexitという大魔術を使うと現実世界へ好きな時に帰れるらしい
そのため魔法陣が複雑なためC星の人々が解明を急いでいる

人種のタイプ
人それぞれタイプを持っており
Windows MacOS Linuxになっている
タイプの他には特性で、sh tchなどがある
0164デフォルトの名無しさん
垢版 |
2011/05/05(木) 04:43:32.38
0165デフォルトの名無しさん
垢版 |
2011/05/28(土) 20:54:37.11
perl - 勝手に添削 - Perl中級者への道
ttp://blog.livedoor.jp/dankogai/archives/51687118.html

>ああ、ラクダ本の訳者ともあろうお方が…

ここで指摘されているようなことってここまで小馬鹿にされて断罪されなきゃ
いけない種類のミスなの?
0168uy
垢版 |
2011/05/31(火) 18:31:12.30
RubyとPerl両方しった上でPerl使ってる奴ってどのくらいいんの?

Perl6構文みてたら、まだ全然Perlしんでないのは分かったんだけど
なんか、Rubyは( まだ成しえてないけど )大規模なソースコードも管理できる かもしれない設計になってるけど
Perlはそういうの完全に捨てて、ほんとにちょっとしたものをさっとかくだけの用途に特化していく方向に
歩んでるように見える

プログラミングの効率化を特殊変数っていう例外的なものによって作るっていう一見乱暴な手法も、
それが広まって言語使用者の共通知識となってしまえば、そこから効率は見える
特殊変数はマクロ、とまではいかないけど、平面構造的な一種のマクロ機構ではあると思う
クラスとかデザパタとか無駄なことやっていないで世界はマクロをするべきだと思う
この世界には、Ruby,Lisp,Pythonの概念しか必要ないと思っていたけど、Perlも一応含める事にする
0170デフォルトの名無しさん
垢版 |
2011/06/01(水) 13:35:21.80
>>168
ワンライナー書けるってのをPerlは捨ててない。そんだけ。

メソッドのプロトタイプ宣言とか強制されるようになったらむしろPerlオワタと思う
0171デフォルトの名無しさん
垢版 |
2011/06/01(水) 19:26:47.54
Rubyは作者がカルトの信者なのでなんとなく気持ち悪くて手を出す気になれずじまい

もちろん偏見です
0172デフォルトの名無しさん
垢版 |
2011/06/02(木) 08:15:29.68
> Perlはそういうの完全に捨てて
> ほんとにちょっとしたものをさっとかくだけの用途に特化していく方向に歩んでるように見える

それこそがPerlの本来の用途でしょ、書き捨てのテキスト処理を書くための言語
ちょっと無理してた Perl/CGI の時代は終わり、本来の道に戻った…と考えるべきだと思う

そもそもWebプログラミングに使われたのは、CGIが流行り出した当時
テキスト処理が気楽にできて、かつ多機能な言語が希少だったからで、Webも「できるけど」専門ではない
今はWebプログラミングが専門の言語とかもあるんだからそっちに任せればいいでしょ
0173デフォルトの名無しさん
垢版 |
2011/06/02(木) 08:26:24.71
あと「亜種・方言がほとんど無かった」ってのも当時はポイント高かったんじゃないかな
Unix系スクリプトはOS柄、総じてテキスト処理が得意だけど
一方で方言や亜種も多いんだが、Perlはそれがなかった

誰かが書いた掲示板スクリプトが、ほとんど手直しなしに他環境でも動く
…ってのがCGIの流行に拍車をかけたと思う
0174デフォルトの名無しさん
垢版 |
2011/06/02(木) 11:04:56.84
perl - 勝手に添削 - Perl中級者への道
ttp://blog.livedoor.jp/dankogai/archives/51687118.html

>dieやwarnは\nでふるまいが変わる

こういう記事読んでるとPerlって適切な警告やエラーを表示しないので不適切な
コードを書いてしまう、またヘンなノウハウを山ほど知ってないと使えない欠陥言語って
印象がますます強くなるなあ。
0177デフォルトの名無しさん
垢版 |
2011/06/02(木) 14:10:48.64
>>174
組み込みのエラー報告機能を使ってればCarpとか$SIG{__WARN__} とか色々サポートがあるから
俺はwarnとかdieの方が好きだけども、

単純なのが好きなら別に print STDERR "error\n" ; die; でもいいんじゃよ?
0178デフォルトの名無しさん
垢版 |
2011/06/19(日) 08:12:35.18
>>173
Perlソースをパースするのが難しくてLarry以外の実装ができなかったってのが理由?
0179デフォルトの名無しさん
垢版 |
2011/06/19(日) 10:19:48.88
Rubyの連中って仮面ライダーでいうショッカーみたいだよな
松本ひろゆきをリーダーとして
0180デフォルトの名無しさん
垢版 |
2011/06/19(日) 11:17:54.53
たしか、某掲示板の創設者もひろゆきとかいうやつだったな。

ひろゆきという名前は、終ってるな。
0181デフォルトの名無しさん
垢版 |
2011/06/19(日) 11:52:38.74
Rubyのやつらって
眼鏡+松本ひろゆき信者+MacBook
っていうのはテンプレくさいですねえ


棒掲示板ののひろゆき

ひろゆきっていう名前は終わってますね
0183天使 ◆KOAgYBL/Xg
垢版 |
2011/06/30(木) 06:11:37.03
Rubyの奴らって赤い本もって、みんな目が血走ってんだよね
「日本発快楽オブジェクト指向言語Ruby」とかさ、 快楽オブジェクト指向言語て

快楽オブジェクト指向言語????
薬でもやってるんですか?
そのうち書籍に十字架とか記されて、表紙に神父が描かれるようになって、
「まえがき」のところに十字教の教えとかが入るようになって、
本の付録に、宗教グッズがつくようになるんじゃないかと心配してる
置くだけで霊装として機能するものとか、あんまりそういうものを一箇所においてるとエンジェルフォールみたいな事態への引き金になることもあるようだし
かなり危険視している者もいる
0189デフォルトの名無しさん
垢版 |
2011/09/14(水) 23:07:58.89
Perlについての質問箱 48箱目から来ました。
> 今の時代に合わない、ネットの書き込みを
> 全部排除してくれ。
> 世の中モダンPerlだけでいい。
に対して、無理に削除するんじゃなくて、だんだんと廃れて
使われなくなるのを待てばいいじゃないかと思っています。
すでに利用者がいるわけだから、供給者の都合で急になくなっ
たりしたら困るんじゃないかと思うのです。

それに古い機能はプリミティブ(簡素)であることが利点なので
いつまで経っても便利であることが変わらず、使われ続けるん
じゃないかと予想するのです。

上でワンライナーの話も出てますが。
0191デフォルトの名無しさん
垢版 |
2011/09/15(木) 00:26:40.04
jcode.pl が廃れるべきものであるのなら、とっくに
廃れてるはず。

それなのに現実の世界がそうではないのは、jcode.pl
の実装およびインタフェースのシンプルさが利用者を
安心させるのだと思う。

特に「利用者の想定と一致しない内部状態を持たない」
ことは近年にない利点なのだろう。
0195デフォルトの名無しさん
垢版 |
2011/09/15(木) 07:34:34.47
UTF8フラグによるトラブルとLatin-1と解釈されることによるトラブルのどっちが対処しやすいか
0196デフォルトの名無しさん
垢版 |
2011/09/15(木) 08:26:20.30
jcode.plはメンテされていないこと(自分でメンテすること)と、
utf8が使えないことを理解して使う分には悪くない。

楽したけりゃ、Encodeのfrom_to()を使っておけばいい。
utf8フラグにも無縁で居られる。
0197デフォルトの名無しさん
垢版 |
2011/09/15(木) 21:11:48.50
Perl使えるくせにUTF8フラグ程度でトラブルの?

それって、単にPerl使えないだけじゃ・・・
0199デフォルトの名無しさん
垢版 |
2011/09/15(木) 23:47:50.61
utf8フラグは微妙に影響が出るからなあ。
正規表現で、全角数字が\dにマッチすることを知ったときは、悪寒が走った。
0204デフォルトの名無しさん
垢版 |
2011/09/16(金) 03:22:16.30
>>202
返されてもなぁw

俺がutf8フラグを搭載したわけじゃないし、
utf8フラグはperl言語仕様に含まれるもので
perlが使えると言いたいのなら、
当然utf8フラグも使えなければならないもの。
0206デフォルトの名無しさん
垢版 |
2011/09/16(金) 06:15:31.89
そこで僕は答えに辿り着いた。


use utf8; なんか使わない。
binmode STDOUT, ":utf8"; とかももちろん使わない。

文字数を数えたけりゃ decode (または utf8::decode) でフラグをつけて length すりゃいい。
substr 使うときも事前にフラグを付けりゃいい。

で、ソースとかデータは utf8 で書く。


これ完璧。
0207デフォルトの名無しさん
垢版 |
2011/09/16(金) 09:17:02.66
>>204
> 当然utf8フラグも使えなければならないもの。

使えなければならないかどうかは知らんが、
使「わ」なければならないもの、ではないわな。
use utf8;とno utf8;の選択ができる仕様になってるんだから。
だったらutf8フラグを「構成要素から除外」して考えていても
「Perlを使っている」ことに違いはないんでは。

それともお前さんは言語(自然言語含む)でもなにかツール類でも、
全ての機能を知り、かつ使わなければ「使える」と言っちゃいけん、って考えなのかい。
0208デフォルトの名無しさん
垢版 |
2011/09/16(金) 10:02:34.11
この糞ジャップはモダンPerlに洗脳されてるから
utf8の全てを学ばないと気がすまないジャップ
早く死ね
だいたいのフィーリングでやれよ糞ジャップわかったか死ね
0210別人だが
垢版 |
2011/09/16(金) 11:07:01.31
>>205
UTF8の2byte文字、3byte文字の途中で文字列が終了していても、
malformed byteとして扱わずに残りはほっといて終了する。
何度もバッファリングしながら読む時に便利。
HTMLやXML等のパーザ書いてる人は結構使ってる。

encode.c:process_utf8(dst, s, e, check, encode, strict, stop_at_partial);
が本体。
0211デフォルトの名無しさん
垢版 |
2011/09/16(金) 14:07:43.91
>>210
ありがとん。
気になるのは、次のコードを走らせると、STOP_AT_PARTIALが有っても無くても
結果が変わらないところ。何か勘違いしてる所ある?

use PerlIO::encoding;
use Encode;
use IO::File;

my %type = (
"PERLQQ|STOP_AT_PERTIAL" => Encode::PERLQQ|Encode::STOP_AT_PARTIAL,
"PERLQQ" => Encode::PERLQQ,
);

while(my ($title, $value) = each %type){
$PerlIO::encoding::fallback = $value;
print "fallback: $title\n";
foreach my $in (
"\xe3\x81\x82",
"\xe3\x81\x82\xe3\x82\x81",
"\xe3\x81\x82\xe3",
){
open(my $fh, '<', \$in) or die $!;
binmode($fh, ":encoding(UTF-8)");
$fh->read(my $string, 5);
$fh->close;

printf("%0*v4x\n", ",", $string);
}
print "\n";
}
0213デフォルトの名無しさん
垢版 |
2011/09/16(金) 23:09:31.24
>>205
それってundocumentedなフラグらしいじゃん。
なんでそんなマイナーなのを持ってくるの?

お前の基準がわからんw
0214デフォルトの名無しさん
垢版 |
2011/09/16(金) 23:17:27.21
>>207
別に初心者はPerlを使うなとは言ってないから安心しろw

Perlのすべてを知ってからPerl使う人はいないだろ。
何も知らない初心者から、どんどんPerlを知って成長していく。
だから全部知る必要はないが、Perlを使えるという最低条件の一つがutf8フラグ。

ワイン好きなら美味しいワイン、まずいワインそれぐらいわかる。
いろんな種類を飲んで自称ワイン好きというのは構わない。
もちろんワインを飲んで構わない。

だがソムリエと言いたいなら、最低限のレベルってものがある。
Perlもそういうことだよ。プロの間で「Perlを使える」と言っていいのは
utf8程度、当然知っているべき最低限の知識だ。

お前はPerlを触ってるだけ。
0215デフォルトの名無しさん
垢版 |
2011/09/16(金) 23:38:35.12
>>214
> Perlもそういうことだよ。プロの間で「Perlを使える」と言っていいのは
> お前はPerlを触ってるだけ。

俺基準炸裂乙

> プロの間で

何度読んでも笑えるわ
0218デフォルトの名無しさん
垢版 |
2011/09/17(土) 01:19:55.00
>>189
まあ、
> > 今の時代に合わない、ネットの書き込みを
> > 全部排除してくれ。
> > 世の中モダンPerlだけでいい。
なんてことを本気で言ってる奴はただのバカなんで単に放っておけばいいでしょ。
Perl使いはTMTOWTDIなところが好きで使っている人も多いと思うんで、
一律にオレの理想のPerlしか認めんみたいなバカは2chの匿名板以外にはきっとあまりいないでしょ。
昔書かれた古い情報ならそれがいつ書かれたのか確認できるようにすればいいだけの話で、排除までする必要もないし。
モダンじゃない書き方を示されたらモダンに書くならこうですよ、と別途提示すればいいんだし。
モダンな書き方のメリットも強調したいならどうしてその方がメリットばあるのかも含めてね。
0219デフォルトの名無しさん
垢版 |
2011/09/17(土) 09:34:31.83
>>218
やり方は一つじゃないのと、
やり方を一つしか知らない のは
全然意味が違うぞw

自分一人でやってるなら自分のやり方だけ知ってればいいだろうが、
他人のコードを読んだり修正するのであれば、別のやり方を知らないといけない。
自分が使わなくとも、やり方を知らないといけない。

マイナーなモジュールならともかく、Perlに標準機能として搭載されている
文字コード関連技術ぐらい知ってるのが当たり前だろう。
0220デフォルトの名無しさん
垢版 |
2011/09/17(土) 20:11:09.82
>>219
> やり方は一つじゃないのと、
> やり方を一つしか知らない のは
> 全然意味が違うぞw

当たり前だ。
>>189 のどこをどう読めば「やり方を一つしか知らなくてもいい」と言ってるように読めるんだ?
貴様は文盲か。
0222デフォルトの名無しさん
垢版 |
2011/09/18(日) 00:01:40.58
そもそも文字列なのかバイト列なのかというのは二者択一
ではなくて、おいらの頭の中でいいあんばいで処理して
いる。

それを処理系でマネをしようとしてutf8フラグなるもの
をこさえたんだけど、おいらの頭の中をうまいこと再現
してくれるわけじゃなくて、ギャップにぷぎゃーって
なるんだよな。

わかる?ぷぎゃーって?

コンピュータにはそれが分からない。
0223デフォルトの名無しさん
垢版 |
2011/09/18(日) 01:55:12.80
だから普段はuse utf8しないで、substrとか文字数カウントとかしたいときだけフラグ付けりゃいいじゃん
0224デフォルトの名無しさん
垢版 |
2011/09/18(日) 04:55:59.29
>>222
抽象化能力がかけてるの?

文字は文字であって、それがどんなバイト列なのか
意識したらダメだよ。そんなものを意識すると
バイト列が変わっただけで混乱してくるでしょ?

ぷぎゃーってなってるのは、文字とそれを構成するバイト列。
つまり、文字集合と符号化方式を頭の中で切り離せてないからだよ。

Unicode と UTF8・UTF16・UTF32などの違いをしっかりと学習しようね。
0226デフォルトの名無しさん
垢版 |
2011/09/18(日) 06:45:11.54
>>225
それはお前w、Unicode時代の正規表現を知らないだけじゃないか。
自分が無知だってことを知らせてどうするよ。もっといろんな言語をだなぁ。

■[Ruby][鬼車]UTF8で\dが全角数字にマッチ
http://d.hatena.ne.jp/gengar/20091019/1255888893

http://vbnmkyoto.blogspot.com/2010/12/d-javacommons-validatorperl.html
> 罠なのは、Javaでも commons-validator を使っていると、
> commons-validator の正規表現は perl と同等であること!

.NET Frameworkの正規表現
http://smdn.jp/programming/netfx/regex/0_abstract/
> \dは10進表記の数字に使用されるUnicode文字1文字
> \Dは\d以外の任意の1文字
>
> (\dには半角数字だけでなく、全角数字も含まれる)

そのまま使える正規表現集 for regExp (javascript)
http://befine.jugem.jp/?eid=29
> ・全て数値かどうか(全角でも半角でもOK)
> /^\d+$/

pythonの正規表現で日本語を扱う
http://taichino.com/programming/1272
[0-9]を表す\dですが、unicodeフラグを指定すると[0-90-9]と等しくなるようです。
0227デフォルトの名無しさん
垢版 |
2011/09/18(日) 09:24:45.51
RubyもJavaもpythonも関係なくて、関係あるのは今まで
使い続けたPerlなわけで、別に Unicode 時代をお招きした
つもりもないんだよね。

で、\d はこれまで [0-9] と同じってドキュメントに
書かれていたわけだから、Unicode に対応したからって
それが勝手に変わってしまうのは困る。
なぜかというと \d でマッチした内容は、テキストデータ
に埋め込む数字の文字列としても使うし、数値として計算
対象としても使うから。

そこんところをいいあんばいに混ぜて使っていたのが、
Unicode 対応という理由によって使いにくくなってし
まった。一体、何のための Unicode 対応なのか。

>文字は文字であって、それがどんなバイト列なのか
>意識したらダメだよ。そんなものを意識すると
>バイト列が変わっただけで混乱してくるでしょ?

いや、してこない。
(混乱するあなたをどうこう言うつもりはないけど)

処理系のために切り離さないといけないのは、設計思想
としてうまくないと思う。
0228デフォルトの名無しさん
垢版 |
2011/09/18(日) 09:34:53.65
文字列として見たら5も5も同じ。
そうゆう意味ではフラグが立ってる時の\dは全角半角関係ないのは分かる。

が、227の言い分もわからんでもない。

そんな自分は [0-9] って書いてる。
0230デフォルトの名無しさん
垢版 |
2011/09/18(日) 09:42:09.24
> で、\d はこれまで [0-9] と同じってドキュメントに
> 書かれていたわけだから、Unicode に対応したからって

初心者かお前w
ちゃんとドキュメントは読みましょう。

http://perldoc.jp/docs/perl/5.10.0/perlretut.pod
> \d は数字にマッチします; 単に [0-9] だけではなく、非ローマ字スクリプトからの 数字もマッチします
0231デフォルトの名無しさん
垢版 |
2011/09/18(日) 09:46:24.15
ちゃんと勉強を続けている人なら
\dは非ASCIIの数字にもマッチすると知ってる。

なぜ知らないの? そっちの方が不思議だ。
0233デフォルトの名無しさん
垢版 |
2011/09/18(日) 09:55:45.19
変わってないよ。昔から\dは”数字”にマッチする文字クラスだ。

数字ではなく、特定のバイナリ列だと勘違いしているから
そういう間違いを犯すハメになる。
0234デフォルトの名無しさん
垢版 |
2011/09/18(日) 09:58:11.72
他にも、 . (ピリオド)は一バイトではなく一文字にマッチするものだからな。
しっかり正規表現が扱うのは文字だとわかっていれば当然の結果だが、
お前の場合、日本語で.を使った場合、どうマッチするんだよ?
日本語が3バイトEUCだったらどうするんだよ。とか悩むんだろうな。
0235デフォルトの名無しさん
垢版 |
2011/09/18(日) 10:51:09.14
>>233
> 変わってないよ。昔から\dは”数字”にマッチする文字クラスだ。

変わってないよ、じゃないだろ。処理対象次第で実際に振舞いが変わる。
現実世界では「変わってないよ」では何も解決せんのじゃ。
まあ高度な抽象化能力によって実際のコーディングとは無縁な
非現実の世界に生きている者にはなんの問題もないのかもしれんがな。
0236デフォルトの名無しさん
垢版 |
2011/09/18(日) 10:56:07.76
>>227
Unicodeの処理系は何をしなければいけないかかっちり決まってる。
全角半角の区別は明示的に指定した時以外はしない。
どの言語、どの正規表現ライブラリにいっても変わらない。
perlだけ流儀変えたらバカ言語確定。
>>227みたいな駄々こねるバカも同様。
0237デフォルトの名無しさん
垢版 |
2011/09/18(日) 12:29:22.88
> 変わってないよ、じゃないだろ。処理対象次第で実際に振舞いが変わる。

といわれてもなぁ。
Unicode非対応からUnicode対応になったんだから、
そりゃUnicodeを認識できるようになるわw

Unicode文字をちゃんと文字として認識させたかったんだからさ。
いつまでもASCIIのみ、まともに対応じゃだめでしょw
.を一バイトにマッチさせても意味ないんだし。
0240デフォルトの名無しさん
垢版 |
2011/09/18(日) 12:52:08.48
>お前の場合、日本語で.を使った場合、どうマッチするんだよ?
>日本語が3バイトEUCだったらどうするんだよ。とか悩むんだろうな。

悩まない
. は1文字を表現するんだから。もちろん3バイトEUCにマッチする
0242デフォルトの名無しさん
垢版 |
2011/09/18(日) 15:16:18.57
\d の代わりに $d を使う
$d はあらかじめ qr/[0-9]/ として用意しておく

うん、おれいいこと言った
0246デフォルトの名無しさん
垢版 |
2011/09/18(日) 16:16:54.04
モダンPerlもPerlの一部だよ。

Perl使えなくて、Perl使いは名乗らないでください。
Perlちょっと触ってる程度にしてね。
0247デフォルトの名無しさん
垢版 |
2011/09/18(日) 17:15:14.64
モダンPerlしか使えないおれは負け組みってことっすか。
分かりました。
これからは jcode.pl を使って書くようにします。
0248デフォルトの名無しさん
垢版 |
2011/09/18(日) 17:46:34.60
>>247
そんなようだから負け組といわれる
〜を使って、ではなくて、
〜も使って、といえる奴じゃないと「使えない奴」と判定される
0250デフォルトの名無しさん
垢版 |
2011/09/18(日) 22:20:58.07
>>247
古いものは必要ない限り、勉強する必要はないと思うよ
どうせ使わないんだし。

それよりか新しいものを知っていると、
古いものしか使えない奴の先を行くことができる。
0251デフォルトの名無しさん
垢版 |
2011/09/19(月) 00:01:45.42
>>250
> 古いものは必要ない限り、勉強する必要はないと思うよ
> どうせ使わないんだし。

おいおい。モダン派(w)な >>219

> 自分一人でやってるなら自分のやり方だけ知ってればいいだろうが、
> 他人のコードを読んだり修正するのであれば、別のやり方を知らないといけない。
> 自分が使わなくとも、やり方を知らないといけない。

って言ってるようだけど?
0255デフォルトの名無しさん
垢版 |
2011/09/19(月) 07:34:09.27
まあ今まで知らなかった「古いもの」を新たに知るのも成長のうちだからな。

古いものは「必要ない限り」勉強しなくていい、という時点でやはり成長ストップだな。
0256デフォルトの名無しさん
垢版 |
2011/09/19(月) 08:47:55.20
その通り。
そしてPerlの世界では、古いものはいつか必要になってくる。
KENT先生もそう言っている。
0257デフォルトの名無しさん
垢版 |
2011/09/19(月) 09:23:04.37
使える道具は多いに越したことはないという話だな。
Perlやプログラミングに限った話でもなし。
0258デフォルトの名無しさん
垢版 |
2011/09/19(月) 10:36:17.40
必要もないのに押し付けるための押売り文句として
「モダンPerl」なる用語ができたわけだ。

必要性があって作られたのなら、そんな言葉がなく
てもちゃんと広まる。今まで出てきた新機能は
そうだったんだから。
0260デフォルトの名無しさん
垢版 |
2011/09/19(月) 12:01:04.69
なるほど、モダンPerlはLarryが使ってないからPerlは
このところ成長がストップしていたわけか。

今Perlの新バージョンをリリースしてるのは他の人らし
いしな。
0261デフォルトの名無しさん
垢版 |
2011/09/19(月) 12:13:15.47
こいつ、そこまでPerlの進化を拒絶してるのを見ると、
Perl6に対応できるのか疑問になるな。技術力的に。
0264デフォルトの名無しさん
垢版 |
2011/09/19(月) 12:21:38.42
どこの世界にも、新しいものを拒絶する奴はいるもんさ。

そいつは技術者としてそこで終わりの人間ってだけだ。
卒業おめでとう。そしてさようなら。
0267デフォルトの名無しさん
垢版 |
2011/09/19(月) 12:46:29.23
>>265
それも人生の一つだよ。きっと給料も上がるよ。
よかったじゃないかw

あと、管理職になったら、技術に口出しすんなよ。
お前のせいで古いもののを押し付けられると、
技術者が腐っていきます。
0268デフォルトの名無しさん
垢版 |
2011/09/19(月) 12:48:45.34
>>266
Perlの進化ってのは、たとえばEncodeモジュールとか
Mooseの影響を大きく受けたPerl6とか。

モダンPerlといって別に特殊なものではなく、
本来ならPerl とオールドPerlというべきだ。

モダンというのは、日本語で未来・・・ではない。
現在という意味だ。
0269デフォルトの名無しさん
垢版 |
2011/09/19(月) 12:51:32.65
今度から、モダンPerlではなく
現在のPerlと言おうかなw

現在のPerlではこのようにするんだよとか言えば、
現在のPerlは不要!とか反論するんだろう。

想像するとなんか楽しいな。現在のPerlを否定する姿を。
0270デフォルトの名無しさん
垢版 |
2011/09/19(月) 12:57:07.23
どこの世界にも、新しいことは何でも正義だと思い込んでる奴はいるもんさ。

そいつには技術が手段じゃなく目的にすりかわっちまってるんだ。
自縄自縛おめでとう。そして御愁傷様。
0271デフォルトの名無しさん
垢版 |
2011/09/19(月) 12:58:02.65
Perlの進化を否定したことはないし、古いPerlを押し付けたこともない。
何かを押し付けようとも思ってない。ただ腐った部分を取り除こうとしてるだけだ。
ちゃんと読め、現役の技術者。
0272デフォルトの名無しさん
垢版 |
2011/09/19(月) 13:02:06.93
腐った部分にモダンPerlという名前を付け分離可能にしたのは、人間として
多少なりとも良心が残っていた証なのだろう。
0275デフォルトの名無しさん
垢版 |
2011/09/19(月) 13:05:36.97
Perlを長年使っていたのに、
お前はPerlを使えないって言われたら
どんな気分なんだろうなw

実際今のPerlを使えないのは事実だから
反論できないだろうしね。
0276デフォルトの名無しさん
垢版 |
2011/09/19(月) 13:07:10.54
モダンPerlはモダンPerlによってとって変わることを忘れるな。
過去を否定するものは自分も未来から否定されるということに
気づけ。おれが言いたいのはそれだけだ。
0278デフォルトの名無しさん
垢版 |
2011/09/19(月) 13:21:49.07
> モダンPerlはモダンPerlによってとって変わることを忘れるな。

当たり前だろ。それが進化ってものなんだし、
新しいものをどんどん吸収して行かないと
この業界で生きて行けないよ。

気がつくとすぐに普通の技術(モダン)に
なっているからな。
0283Perl忍者
垢版 |
2011/09/19(月) 13:31:41.79
どうも スレが盛り上がってた と思ったら
今日は祝日
0285デフォルトの名無しさん
垢版 |
2011/09/19(月) 13:33:09.34
正論を言うと嫌われることが多いから気をつけたほうがいいが、
2ちゃんねるだから、そんなこと気にする必要はない。
どんどん正論言うたれwww
0287デフォルトの名無しさん
垢版 |
2011/09/19(月) 13:48:22.37
モダン派にちょっかいを出すと反応が大きくておもしろいので
ちょっといじってみた今日は祝日www
0288デフォルトの名無しさん
垢版 |
2011/09/19(月) 13:52:20.89
まあPerlユーザーが、それも詳しい人達が中心になって切り拓いた到達点の一つが
モダンPerlなわけだから、Perlを使うならモダンPerlの学習は推奨されるべき

…で、確かに論理的にはモダンPerlの学習を奨めているんだが
なんか逆効果にみえるんだよなあ…(´-`)と、ね
0289デフォルトの名無しさん
垢版 |
2011/09/19(月) 13:58:46.84
モダン焼きだってできたのは昭和25年だ。モダンPerlってな一体、いつ生まれだっけ?
0294デフォルトの名無しさん
垢版 |
2011/09/19(月) 15:01:42.17
> 今の時代に合わない、ネットの書き込みを
> 全部排除してくれ。
> 世の中モダンPerlだけでいい。

っていうのも、時代が進むにつれて、自身がモダンでは
なくなり削除対象になりかけたわけだが、これで永遠に
保存されることになりました。

おしまい。
0295デフォルトの名無しさん
垢版 |
2011/09/19(月) 15:18:39.91
>>294
馬鹿か?

今モダンなのが廃れてきたら、
次が流行ってるってことで、
それを使うだけの話だよ。

常に勉強し続けるというのはそういうこと。
0296デフォルトの名無しさん
垢版 |
2011/09/19(月) 15:23:52.33
これからプログラマになろうとするときに goto 文を知る過程を
省くことはできない。過去を削除するなとはそういうこと。
削除してしまうと技術の発達の過程が見えないので、新しいひと
にとって魔法のように見えてしまう。
0297デフォルトの名無しさん
垢版 |
2011/09/19(月) 15:25:26.52
それともネットからは排除するけど、紙の本には書き記しておけ、
ってことを言ってる?
0298デフォルトの名無しさん
垢版 |
2011/09/19(月) 15:27:46.61
あ、それと勉強するな、進化するななんて一度もおれは言ってないから。
(他のひとが言ったかもしれないけど)
0299デフォルトの名無しさん
垢版 |
2011/09/19(月) 15:37:27.91
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
   過去を削除するから車輪を再発明しちゃうんだろが
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
0300277
垢版 |
2011/09/19(月) 18:17:35.72
>>292
既にあったのか……。

モダンといっても Moose とかは遅いこともあるんだろうし、適材適所なものもあるよね。
0302デフォルトの名無しさん
垢版 |
2011/09/19(月) 19:51:42.66
>>296
だから、goto文の悪さを世間に広めて、
そして新たにはgoto文を使ったコードを書かないようにする。

ようするに古いPerlは、昔は面倒だったんですよって
教えるだけで、さっさと今のPerlに映るべき。

老害は死ね
0304デフォルトの名無しさん
垢版 |
2011/09/19(月) 21:33:48.09
utf8フラグが原因で原子炉が暴走することを
想像できないようじゃ技術者の風上にはおいて
おけないな。
0305デフォルトの名無しさん
垢版 |
2011/09/19(月) 21:35:06.57
goto文は乱用すべきではない、には同意だが
ガチガチに禁止してもねえ…

脱出判定変数を山のようにこさえられるよりは
gotoのほうがマシでした、なんて事態も…
0306デフォルトの名無しさん
垢版 |
2011/09/19(月) 21:44:13.47
今の時代に合わない、モダンPerlの書き込みを
全部排除してくれ。
世の中現在のPerlだけでいい。

そしてPerlの進化はすべて禁止!
常に勉強し続けるのも禁止!
0307デフォルトの名無しさん
垢版 |
2011/09/19(月) 21:58:22.58
>>305
そのへんはgoto文が悪いんじゃなくて
goto文を使うと見通しの悪いプログラムになりやすい、だから〜
って事だからねえ
見通しの悪いプログラム作るなってのも、デバックしやすいように
バグが出にくいように、ってことだし
要は保守が楽でバグの無いプログラミングなら、その辺はどうでもいいわけで
0308デフォルトの名無しさん
垢版 |
2011/09/19(月) 22:04:13.04
そもそもPerlからモダンじゃない部分を取り除いたら
かなりの部分がなくなっちゃうぞ、どうやってプログラム
を組むんだ?
0309デフォルトの名無しさん
垢版 |
2011/09/19(月) 22:09:01.77
>>268
>Mooseの影響を大きく受けたPerl6とか。
は?

Mooseなんざ、Pugsよりもずっと後の
リリースじゃねーか。
0310デフォルトの名無しさん
垢版 |
2011/09/19(月) 22:21:24.46
>>308
えっと、モダンってのは今のって意味だから
今使われてるのは(モダンな方法で置き換わってないものは)
それもまたモダンですよ。

古いPerlは取り除いて問題ない部分。
0312デフォルトの名無しさん
垢版 |
2011/09/19(月) 22:25:02.02
>>307
Perlもモダンじゃないやり方は
見通しが悪くなるからねぇ。

何度も同じ事を書かないといけないnewとかアクセッサ
年、月、日、ばらばらで取ることしかできない日付関数
(今はTime::Pieceがモダンかつ標準モジュール)
日本語にしか対応できないjcode.pl
0313デフォルトの名無しさん
垢版 |
2011/09/19(月) 22:26:49.52
モダンってのがなんか未来みたいなイメージを
抱いてるのかもしれないけど、モダンっていうのは現在のって意味だからね。

今のPerlぐらいしっとけ間抜け。というのが
多くの人の共通意見。
0315デフォルトの名無しさん
垢版 |
2011/09/19(月) 22:55:01.79
争点の整理
A) モダンPerlだけで済むのでそれ以外はネットから排除しろ
B) 過去のものは発達の過程が分かるようにするために必要だから削除するな
0316デフォルトの名無しさん
垢版 |
2011/09/20(火) 01:27:55.11
>>312
もしかして、それが見通しの悪い例なのか・・・

いや、俺は趣味でいじっているだけだけどさあ・・・
構造化プログラミングとかとっくに死語だろうけどさあ・・・
0317デフォルトの名無しさん
垢版 |
2011/09/20(火) 02:30:51.91
>>313
> 多くの人の共通意見。

詭弁の特徴の5.資料を示さず持論が支持されていると思わせる
「世界では、犬は哺乳類ではないという見方が一般的だ」
0318デフォルトの名無しさん
垢版 |
2011/09/21(水) 01:10:53.35
モダンPerlerに関する中間報告書
・自分のやり方を他人に押し付けようとする
・他人の意見を聞く耳を持たない
・絶滅危惧種であることを自覚しているためか、被害妄想の傾向にある
・論点が分かっておらず、あさってな方向の議論をしがちである
・言葉の言い換えによって自己満足するが、他人には伝わらない
0320デフォルトの名無しさん
垢版 |
2011/09/21(水) 02:17:11.41
>>319

詭弁の特徴の5.資料を示さず持論が支持されていると思わせる
「世界では、犬は哺乳類ではないという見方が一般的だ」
0321デフォルトの名無しさん
垢版 |
2011/09/21(水) 02:19:33.91
"モダンPerl" という言葉を "モダン(=現在の)"+"Perl" と考える
のか「モダンPerl」という固有の言葉と考えるかで、話がすれ違っ
てしまうよ。

固有の言葉の「モダンPerl」は(ただの)Perlではないからこそ
「モダンPerl」なんであって、例えばKENTさんが作成したCGIスク
リプトのように世の中に普及し、広く使われるようになってしま
うと特別なものではなくなり「モダンPerl」とは呼ばれない。

それは単に現在の「Perl」ということだろう。
0322デフォルトの名無しさん
垢版 |
2011/09/21(水) 02:58:58.27
モダンPerlerに関する中間報告書-2
・ロイヤルWeを使いたがる
・長期的な視点でものごとを考えることができない
・グローバルであるかのように語るが、単に個人的な意見に過ぎない
・過去の情報を参照しないため、何度も車輪を再発明する
0324デフォルトの名無しさん
垢版 |
2011/09/21(水) 03:14:55.02
すみません。モダンPerlって一体、何のことなのですか?

Perlのほんの一部分であるようなコメントもあるし、逆に
大部分がモダンPerlで、そうでない部分は少しであるかの
ようなコメントもあります。あるいは特定のモジュール
を使う/使わないということですか?

モダンPerlとPerlは両立しないものなのですか?
例えばモダンPerlとPerlの中間というものはあるのですか?

ここで話されているモダンPerlはモダンPerl入門という書籍
と関係していますか?
0329デフォルトの名無しさん
垢版 |
2011/09/22(木) 04:22:23.96
モダンPerlerに関する中間報告書-3
・モダンPerlと非モダンPerlは両立しないと考えている
・「過去の情報を削除するな」が「モダンPerlを排除しろ」と聞こえているらしい
0330デフォルトの名無しさん
垢版 |
2011/09/22(木) 04:39:50.81
軍配は B) に上がっているように見えるが、もちろんこれはモダンPerlの否定を意味しない
0331デフォルトの名無しさん
垢版 |
2011/09/22(木) 22:00:06.44
過去の情報は「過去の情報」と書いて残しておけばいい。
メンテナンスもせずに放置するな。
それやるぐらいなら消したほうがいい。
0333デフォルトの名無しさん
垢版 |
2011/09/22(木) 23:27:39.20
使いにくくなることを道具の進化と考える馬鹿には
困ったものだが、所詮、固定レコード長のファイル
を扱ったことがないような連中だから相手にするのも
なあ
0335デフォルトの名無しさん
垢版 |
2011/09/22(木) 23:58:34.13
Perl6は普及した頃に改めて使うかどうか考えるわ。
それで別に遅過ぎるこたあない。
0336デフォルトの名無しさん
垢版 |
2011/09/23(金) 00:25:51.06
手段と目的の区別がつかなくなっているのは、需要をもとに
開発されたわけではなくて、供給者側の技術的挑戦によって
開発されているからだと思う。

そして、それに気がついていない供給者は、本末転倒な議論
をしてしまう。

俺たちの時代にはゆとりなんてなかった訳で、基本的に需要
ベースで動いていたから、こんな時代がくるなんて悔しい
けど思いつかなかったな。

なにもPerlに限った話ではないが。
0337デフォルトの名無しさん
垢版 |
2011/09/23(金) 01:25:50.56
# utf8 source
my $str = "あいうえお";
print $str.length; # 5
print $str.bytes; # 15

とか出来なきゃ perl6 なんか使いたくない。
perl5 で十分だな。

ソースに許される言語は utf8 のみにしちゃえばいいのに。
英語圏も例外なくさ。
utf-8 読み書きできないエディタ使ってるやつなんかそうそう居ないっしょ?w
0338デフォルトの名無しさん
垢版 |
2011/09/23(金) 05:26:08.38
Perl6はCPANを一から作り直しでしょ?
おそらくちょっとした作業の使い捨てスクリプトしか需要がないような。
Parrotの出来のほうが重要なのかな?
0339デフォルトの名無しさん
垢版 |
2011/09/23(金) 05:46:34.38
>>337
> ソースに許される言語は utf8 のみにしちゃえばいいのに。
> 英語圏も例外なくさ。

なんかお前utf8わかってない気がするなw

ASCIIコード(文字コード127以下)だけで書かれたコードは
utf8でもあるんだぜ。
0340デフォルトの名無しさん
垢版 |
2011/09/23(金) 06:32:18.61
ISO 8859-1でなくUTF-8を使えって意味にとらえた
0341デフォルトの名無しさん
垢版 |
2011/09/23(金) 06:51:03.66
まあ普通に互換性切れってことだな。
ソースからEUCとか排除するっていうのは。


普通に考えればデフォルト互換性あり。
use utf8すれば、utf8のみ許されるってするのが妥当だが。
0342デフォルトの名無しさん
垢版 |
2011/09/23(金) 14:48:00.43
つうか、1つのスクリプトの中でISO 8859-1とUTF-8を混在して
使って、use utf8;とno utf8;を使って切り替えようとするのが
そもそも無理なんじゃね?
JPerlのときみたく素直にUPerlを作れば解決すんじゃね?

ロイヤルWEを使うわけじゃないけどISO 8859-1とUTF-8を混在さ
せて使いたい!なんて需要は少ないと思うけど。
0343デフォルトの名無しさん
垢版 |
2011/09/23(金) 18:10:02.71
> JPerlのときみたく素直にUPerlを作れば解決すんじゃね?


そしてCPANすべてをUPerl専用に書き換えるってか
膨大なばかだなお前はw
0349デフォルトの名無しさん
垢版 |
2011/09/24(土) 06:18:01.02
ISO 8859-1とUTF-8を混在できるテキストエディタを自慢しても
意味ないだろうし、例えば文字コード変換プログラムのように
両方を扱う必要があるなら、どちらかを16進エスケープで書けば
すむ話だし、やっぱり供給者がドヤ顔で作っちゃったんだろうな
0353デフォルトの名無しさん
垢版 |
2011/09/25(日) 15:17:16.90
>>342
Uperlといわずに、use utf8;抜けばマルチバイト文字列で行けないか?
それと、バイナリと文字列は混在する。
0354デフォルトの名無しさん
垢版 |
2011/09/29(木) 21:02:28.96
ご自由にお使いください、のフリーソフトウェアの文化と
お前らこのモジュール使え!のモダンPerl派のスタンスは
雲泥の差があるのかもしれないなあ
0359デフォルトの名無しさん
垢版 |
2011/09/30(金) 01:37:49.87
>>355
否定じゃなくて、適材適所臨機応変。

> 頭固い旧世代人さんw

「新」しければ無条件に良い、か。
お前の方がよっぽど頭固いわ。
0363デフォルトの名無しさん
垢版 |
2011/09/30(金) 21:34:20.95
結局、"モダンPerl" っていうのはマーケティング用語なわけで、
技術者のおれとしてはあんま興味ないな。
ちゃんとした技術なら飾りの言葉は必要ないはずだし。
0364デフォルトの名無しさん
垢版 |
2011/09/30(金) 22:14:39.55
>359
> 「新」しければ無条件に良い、か。

はて? 誰がそんなことを入ったの?

いいものは無条件にいい。
その代表がモダンPerl。
0365デフォルトの名無しさん
垢版 |
2011/09/30(金) 22:15:36.18
そもそもモダンPerlってのが
良い物を集めたもんだしな。

あ、あくまで技術力が高い人にとって
良い物だから、未だにUTF8フラグがわかんないとか
そういう初心者には、難しいものだろうね(大爆笑)
0366デフォルトの名無しさん
垢版 |
2011/09/30(金) 22:19:18.76
>>359
> 「新」しければ無条件に良い、か。

つか、モダンPerlを新しいと思っている時点でだめだろ。
新しくはないぞ。

新しくないので、あんたの批判は的はずれだ。
0367Perl忍者
垢版 |
2011/09/30(金) 22:26:25.64
結局、"モダンPerl" っていうのはマーケティング用語なわけで、
技術者のおれとしてはあんま興味ないな。
ちゃんとした技術なら飾りの言葉は必要ないはずだし。
0368デフォルトの名無しさん
垢版 |
2011/09/30(金) 22:33:42.76
マーケッティング用語というのは根拠が無いので>>367が言っていることは意味が無い。
あんま興味がないというのは、ただの>>367の感想なので意味が無い。
ちゃんとした技術なら飾りの言葉は必要ないといってるのも根拠が無いので>>367が言っていることに意味が無い。
>>367は全く参考にならない。

それよりも、有名な人の言うことのほうが信じられる。
0371デフォルトの名無しさん
垢版 |
2011/09/30(金) 23:02:33.67
2ちゃんねるの住民が本物かどうかなんて興味はないよ。

2ちゃんねるは適当に遊んで、
参考にするなら貼られたリンクやキーワードを使って
調べた2ちゃんねるの外の世界だ。
0373デフォルトの名無しさん
垢版 |
2011/09/30(金) 23:06:06.84
本音は2ちゃんねるでしかきけない。
2ちゃんねるの外はモダンPerlは素晴らしいという
ウソにまみれた良い子ちゃん発言だけだ。
そんな世界の何が信じられるというのか。
0374デフォルトの名無しさん
垢版 |
2011/09/30(金) 23:28:59.54
1つの問題に対して複数の解決策を持ち、
その中から、最適と思われる解決策を選ぶだけだな。
モダンか関西風かはこだわらない。
0375デフォルトの名無しさん
垢版 |
2011/09/30(金) 23:31:06.87
名無し派のYappo
Yappoは2chの歴史を知り尽くしてそうであり
2chの文化を守ってそう、彼はこの2chの中で名無しさんを今もやっているだろう
0376デフォルトの名無しさん
垢版 |
2011/09/30(金) 23:36:15.03
>>374
そんな当たり前のことを言われてもw

特に問題は定義されているわけではない場合に
普通に書くとしたら何を選ぶかってので選ばれたのが
モダンなんだろ。

動作環境がPerl 5.6なんですってところで
モダンを使おうなんて言うわけないだろ。

お前が言いたいのはモダンが必ずしも最適解とは限らないって話だろ?
それはモダンの否定にはなってないとみなすよ。
0377374
垢版 |
2011/10/01(土) 00:05:09.86
>>376
そりゃモダンPerl自体を否定してないもん。
ただ、一般的な選択をするならPerldocに沿った選択をする。少し古臭くても。

否定したいのは、>>354に出てくる「お前らこのモジュール使え!のモダンPerl派」。
存在するのかどうかは知らないけど。
0378デフォルトの名無しさん
垢版 |
2011/10/01(土) 00:08:46.04
Perldocはコアモジュール以外を使うことを否定してるのか?

コアモジュールを使うこともPerldocにそったやり方だろ。
それも含めてPerlなんだが。

それにお前こそPerldocにそったやり方を押し付けてるようにしか見えんぞw
0379374
垢版 |
2011/10/01(土) 00:08:49.47
>>377
ああ、PerldocはPerlfaqとかね。
0380374
垢版 |
2011/10/01(土) 00:11:20.12
>>378
自分の流儀で使えばいいだろうに。

何故私の流儀に合わせるのか不明だ。
説明を要求する。
0382374
垢版 |
2011/10/01(土) 00:24:07.76
それは当たり前だろう。私は私の流儀に従って使ってる。
0384デフォルトの名無しさん
垢版 |
2011/10/01(土) 00:29:45.16
つか、Perldocに反するなら
モダンにはならないから・・・

モダン=Perldocに沿ったやり方。
0385374
垢版 |
2011/10/01(土) 00:41:41.88
少々古臭いやり方というのは、
たとえば、IPC::Cmdというモジュールが、5.10辺りから標準で入っているが、
perlipcには書かれていない。
この場合はIPC::Open3を選ぶかもしれないし、system()を選ぶかもしれない。
これはきっとモダンじゃない。
0386デフォルトの名無しさん
垢版 |
2011/10/01(土) 01:22:43.93
IPC::Cmdが5.10に標準モジュールで入っているということは
「お前らこのモジュール使え!」ってことだ。

使ったほうがいいぞw
0387デフォルトの名無しさん
垢版 |
2011/10/01(土) 01:39:18.19
どさくさにお好み焼の話をしてる奴がいたぞ。
おい誰かスルーしないで相手してやれよ。俺はやめとく。
0389デフォルトの名無しさん
垢版 |
2011/10/01(土) 13:29:21.79
どのプログラムだって、書き終わった直後から古くなっていく
わけだし、他にもプログラムは書かないといけないからいつま
でも書き終わったプログラムの面倒を見てはいられない。

そうすると、書いた当時は最新の方法で書いたとしても、時間が
たって読み返して見てみると必ず「古く」見えてしまう。

自分にとってはこれは当たり前のことだと思うし、このこと自体
に対処する必要はないと考えてるんだけど、モダン派のひとには
許せないことなんだろうなあ。
0390デフォルトの名無しさん
垢版 |
2011/10/01(土) 13:45:05.27
古くからある機能はプリミティブなわけで、それが問題の
解決策(ハック、ソリューション)となる場合は長期的に
利用されることだって多々ある。

その部分も "モダンPerl" に含まれるってコメントを上で
見たけど、そうなってくるとモダン派の主張って一体、
何なの?って思える。

一番最初のコメントの「排除したいもの」って、何なの?
0391デフォルトの名無しさん
垢版 |
2011/10/01(土) 13:51:46.59
> 一番最初のコメントの「排除したいもの」って、何なの?

今となっては古いものを、古いものだと示さないで広める行為。
0393デフォルトの名無しさん
垢版 |
2011/10/01(土) 14:17:54.85
>>392
当然。解決策として優れているとしても、
古いやり方と示されていないと悪でしか無い。

ま、古いやり方が最善の解決策である場合は、
限られた条件下においての話しか無いけどな。

たいていは、新しいやり方があってそっちに移行するのが推奨。
ただし、○○の場合は古いやり方を使ったほうがいい。
まともなサイトならこのような書き方をする。

新しいやり方があるのに、暗黙的に古いやり方を推奨して
そのことを全く書かないのは害にしかならない。
どうせ意図的にやってるんじゃなくて、放置されたサイトなんだろうけね。
0394デフォルトの名無しさん
垢版 |
2011/10/01(土) 14:20:16.70


害サイト

  文字コードを変換するのにはJcodeを使用します。


正しいサイト

  文字コードの変換にはPerl標準モジュールであるEncodeモジュールを使用するのが推奨です。
  ただし、サーバーが古くて乗り換えもできないなどの制約がある場合はJcodeを使用するという方法もあります。
0395デフォルトの名無しさん
垢版 |
2011/10/01(土) 14:21:59.90
あと、読者を初心者あつかいして
もっといい方法を知っているのに
それを教えないサイトも馬鹿にしてると感じる。

たとえばテンプレートエンジンを使えば楽なのに、
それを知っていながらヒアドキュメントで書く方法しか教えないサイト。
実際には書いている奴が初心者なんだろうなってのが答えなのだろうけど。
0396デフォルトの名無しさん
垢版 |
2011/10/01(土) 14:28:22.64
アプリケーションがある程度の大きさのものともなれば、
いくつかのシステム、サブシステムを相手にしないとならない。

それらの機能や目的、開発時期もまちまちで、1年前のシステム、
3年前のシステム、10年前、15年、20年前のシステムも当たり前
に混在してくる。

例えば、ネットワーク周りは最新のモジュールが使えた場合
でも、データベース周りは古くからあるシステムに合わせる
ために古いモジュール/ライブラリを使う必要が出てくることが
ある。GUIの部分だって顧客が「どうしてもこれで」というので
あれば技術的な観点、流行、開発者の好みと無関係にその GUI
を使わないとならない。

現実に作られるアプリケーションというのは、開発者が自由に
作れるわけではなくて、現実の制約の中で作らないといけない。
だから仕事でプログラミングする場合は、おれはモダンPerl
しか使わない、なんて小学生みたいなことは言ってられない。

どうも気になるのは、モダン派の話の中には WWW アプリケー
ションの話しか出てこないんだよな。
0397デフォルトの名無しさん
垢版 |
2011/10/01(土) 15:00:46.36
だれがモダンPerlしか使わないなんて言ってるのだろうか?
なんか勝手に理想通りの敵を作って
そいつと戦ってるみたいだなw
0399デフォルトの名無しさん
垢版 |
2011/10/01(土) 15:34:21.57
2011年10月1日、今日はPerlユーザにとって記念すべき日です。

それは "モダンPerl" というマーケティング用語がなくなる日だから
です。

モダンPerlというラベルがなくなっても、ちゃんとした技術は使われ
続けていくでしょうし、反対にこの言葉のおかげだけで存在していた
うそ技術・偽モジュールは廃れていくことでしょう。

それが何なのかは、あえて触れません。
なぜなら時間が(全てのひとに分かる形で)証明してくれるからです。

私たちは "モダンPerl" という言葉の終焉の証人なのです。

さあ、一緒に乾杯しましょう!
0401デフォルトの名無しさん
垢版 |
2011/10/01(土) 17:09:53.45
モダンPerlに一応、区切りがついた。
追われることがなくなったので、ちょっとほっとしている。
0402デフォルトの名無しさん
垢版 |
2011/10/01(土) 17:21:27.80
これからは関西風ってことか...

関西風ってことは、えびが関西弁でしゃべるんだろ?

「わて、ちょっと熱いねん」

なんだか食べづらそうだなあ。
0403デフォルトの名無しさん
垢版 |
2011/10/01(土) 18:32:37.11
モダンって「現在の」って意味だって知ってるか?

だからモダンPerlは、現在のPerlって意味だよ。
現在のPerlは、当然ちゃんと使えるんだよね?
0404デフォルトの名無しさん
垢版 |
2011/10/01(土) 19:46:54.15
ニューメディアが新しいメディアではないように、モダンPerlも
忘れられる運命にある。そんなもんだ、仕方がない。
0406デフォルトの名無しさん
垢版 |
2011/10/01(土) 20:02:38.59
なんでそんなに必死にモダンPerlを否定してるのだろう?
いくらお前が意見を押し付けようとも、世の中の流れは変えられないのに。
0407デフォルトの名無しさん
垢版 |
2011/10/01(土) 20:14:18.76
モダン、モダンと押し付けてるのが、亀田・韓流・AKBくさいんだよ
もしくは電通

「HTML Template は古い!これからは、 Templateの時代!」とか。
Template なんざ、データ解析系にとってはデファクトスタンダード。
Web 屋のテメーが知らなかっただけだろーが、何がモダンだ。

良いものは良いで使うけど、モダン廚と同じに見られるのが
非常に気にくわない。
0408デフォルトの名無しさん
垢版 |
2011/10/01(土) 20:18:01.53
きっと実体がないからだと思います。

決算報告を誤魔化して、赤字なのに「儲かってる」と、嘘を
ついているようなことを連想してしまうからじゃないでしょ
うか?
0410デフォルトの名無しさん
垢版 |
2011/10/01(土) 20:32:15.10
電気通信大学は確かにモダンだけど、オレはあんま押し付けられた
記憶はないなあ。

>>407
健康と命は大事だぞ ^_^)
0412デフォルトの名無しさん
垢版 |
2011/10/01(土) 23:37:58.52
否定も何もモダンブラウザという用語を知らない。
勉強不足ですまないけど、ここPerlスレなんでかんべんな。
0414デフォルトの名無しさん
垢版 |
2011/10/01(土) 23:41:46.30
そんなことはない。知らないんで、否定のしようがない。
あ、モダンブラウザの件ね。
0415デフォルトの名無しさん
垢版 |
2011/10/01(土) 23:43:39.91
本当は知らないんだから否定しようがないはずだが、
なぜかモダンPerlだと知らないものを否定している。
0416デフォルトの名無しさん
垢版 |
2011/10/01(土) 23:45:11.71
もうモダンPerlの話はどうでもいいから、それらを構成している(という)
個々の技術の話をして欲しいよ。
0418デフォルトの名無しさん
垢版 |
2011/10/01(土) 23:59:48.47
モダンPerlなんだから、
Perlのバージョンは 5.14(2011/5/17)・・・は
まだ早すぎるにしても5.12(2010/4/13)か5.10(2007/12/18)だろう。
5.8(2002/7/23)はちょっと古い。

文字コード周り・・・Encodeモジュール(日本語以外にも対応、標準モジュール)
日付まわり・・・Time::Piece(標準モジュール)、DateTime
データベース・・・DBI、DBIx::Class
フレームワーク・・・Catalyst
オブジェクト指向・・・Moose
テンプレートエンジン・・・Template Toolkit

こんなところかな。
0422デフォルトの名無しさん
垢版 |
2011/10/02(日) 00:23:08.06
日付は日本だと和暦を処理する必要があるからなぁ。
ドキュメントを読んだ範囲でTime::Pieceのことは知ってるけど、
書かれてないことで良さがあるなら、教えて欲しい。
0424デフォルトの名無しさん
垢版 |
2011/10/02(日) 00:37:54.91
Moose持ち上げてる奴も恥かしくないかね?
Mooseの遅さをきちんと把握してれば、Mouseを勧める様な事はあっても、
Mooseを勧める事なんざしないと思うんだが。

そもそもカプセル化すら出来ないMoose系を使う気にもならんが。
(MooseX::InsideOut使えって?あんな重くてカプセル化不十分なもんを?w)
0425407
垢版 |
2011/10/02(日) 00:39:08.33
>>423
てめーだれだ?
0427デフォルトの名無しさん
垢版 |
2011/10/02(日) 00:48:53.80
> そもそもカプセル化すら出来ないMoose系を使う気にもならんが

Perlはそもそもカプセル化できない言語なんだが・・・
0431デフォルトの名無しさん
垢版 |
2011/10/02(日) 00:53:35.48
船の遅さを知っていれば、船を勧めるなんてことはしないのだが。


一つのことしか考えられない馬鹿
0432デフォルトの名無しさん
垢版 |
2011/10/02(日) 00:54:38.70
>>426

{ package Mos ; use Moose; has 'x' => ( is => 'rw', isa => 'Int' ) ;}
{ package MosX ; use MooseX::InsideOut; has 'x' => ( is => 'rw', isa => 'Int' ) ;}
{ package Mou ; use Mouse; has 'x' => ( is => 'rw', isa => 'Int' ) ;}
{ package Mo ; use Moo; has 'x' => ( is => 'rw', ) ;}
{ package Obj; sub new { bless { x => 10, @_[1..$#_]}, shift } }
{
package Cap;
use Scalar::Util qw(refaddr);
my %h ;
sub new{ my $s = bless \my $o, shift; $h{refaddr $s} = { x => 10, @_ } ; $s }
sub DESTROY{ delete $hash{refaddr shift @_ }; }
}
package main;
use strict ;
use warnings ;
use Data::Dumper ;
use Benchmark qw( timethese cmpthese ) ;

cmpthese timethese ( undef, {
mos => sub { my $x = Mos->new( x => 30 ) },
mox => sub { my $x = MosX->new( x => 30 ) },
mou => sub { my $x = Mou->new( x => 30 ) },
mo => sub { my $x = Mo->new( x => 30 ) },
cap => sub { my $c = Cap->new( x => 30 ) },
cont => sub { my $c = Obj->new( x => 30 ) },
});
0434デフォルトの名無しさん
垢版 |
2011/10/02(日) 00:55:24.23
注意
1. 型チェックなどの実装がしてない分、contが有利である
2. その代りハンデ用にカプセル化の実装を含めた => cap

cont => perl本来の記法。
cap => スタンダードなカプセル化を行なったもの。
mos => Moose
mox => MooseX::InsideOut(準カプセル化。これが実用速度なら…)
mou => Mouse
mo => Moo
# 実行結果
Benchmark: running cap, cont, mo, mos, mou, mox for at least 3 CPU seconds...
cap: 3 wallclock secs ( 2.93 usr + 0.18 sys = 3.11 CPU) @ 254233.76/s (n=790667)
cont: 3 wallclock secs ( 3.18 usr + 0.00 sys = 3.18 CPU) @ 456449.69/s (n=1451510)
mo: 2 wallclock secs ( 3.21 usr + 0.00 sys = 3.21 CPU) @ 326740.81/s (n=1048838)
mos: 3 wallclock secs ( 3.20 usr + 0.00 sys = 3.20 CPU) @ 11670.94/s (n=37347)
mou: 2 wallclock secs ( 3.10 usr + 0.00 sys = 3.10 CPU) @ 423771.94/s (n=1313693)
mox: 3 wallclock secs ( 3.20 usr + 0.00 sys = 3.20 CPU) @ 11024.69/s (n=35279)
Rate mox mos cap mo mou cont
mox 11025/s -- -6% -96% -97% -97% -98%
mos 11671/s 6% -- -95% -96% -97% -97%
cap 254234/s 2206% 2078% -- -22% -40% -44%
mo 326741/s 2864% 2700% 29% -- -23% -28%
mou 423772/s 3744% 3531% 67% 30% -- -7%
cont 456450/s 4040% 3811% 80% 40% 8% --
0436デフォルトの名無しさん
垢版 |
2011/10/02(日) 01:08:16.94
反応も何も、速さと開発効率、両方の面から考えろ
速い方法が必ずしも最善ではないことは
この業界の常識だろとしかw
0437デフォルトの名無しさん
垢版 |
2011/10/02(日) 01:10:26.54
あと、ひとりよがりの略しかたはやめろ。
コードの見やすさを全く考えていない、
他人が読むことを全く考えてない
素人にしか見えんぞ。
0438デフォルトの名無しさん
垢版 |
2011/10/02(日) 01:16:58.14
モダン派が何を言いたいのかはっきりしなかったけど418を
見て思ったのは、

「青らくだ本に載っているモジュールは古いから使うな」

ってことを言いたいのか?

それならそろそろ第4版が出るから、モダン派もそうでない派も
足並みが揃うんじゃないか?
0444424
垢版 |
2011/10/02(日) 01:26:39.15
「おまじない」の存在は知らなかった(恥)
Mouseより速くなるの?
0448デフォルトの名無しさん
垢版 |
2011/10/02(日) 01:40:15.79
> __PACKAGE__->meta->make_immutable;
なんかやけに泥くさいな。こんなやぼったいマジナイがいちいち必要なのか、モダーンなPerlってやつは。
0451デフォルトの名無しさん
垢版 |
2011/10/02(日) 01:55:34.23
例えばJcode2.xは内部でEncodeを使っている訳だけど、使うと
418は反対するの?Encodeよりも後にできたのは、便利で必要
だからだと思うんだけどな。
0452デフォルトの名無しさん
垢版 |
2011/10/02(日) 02:07:18.46
>>451
Perl 5.8.0 より、Jcodeの全機能は Encode module を通じて
Perlに標準装備となります。Jcodeのメンテナンスは旧Perlのために
今後も続けていく所存ですが、最新のPerlをお使いの方には、
より高機能、高 性能、そしてなんといっても標準装備の Encode の方をお薦めします
0453デフォルトの名無しさん
垢版 |
2011/10/02(日) 02:13:04.12
でも便利なんだよね、Jcode。Encodeにはない良さがある。
それに内部ではお勧めのEncodeを使っているわけだし。
それともJcode相当のコードをアプリケーション内に自分で
書くのはOKってこと?
0456デフォルトの名無しさん
垢版 |
2011/10/02(日) 02:23:58.35
それにEncodeが日本語以外にも対応できるのは分かるけど、アプリ
を書くオレ自身が日本語しか対応していないわけで ^_^;
自分の読めない言語で、うっかり f*ck you みたいな出力をして
しまったら嫌だしなあ。
0458デフォルトの名無しさん
垢版 |
2011/10/02(日) 02:39:17.38
実態としては、

文字コード周り・・・Jcodeモジュール
日付まわり・・・localtime
データベース・・・DBIモジュール
フレームワーク・・・CGIモジュール
オブジェクト指向・・・bless
テンプレートエンジン・・・printf

こんなところかな。
0460デフォルトの名無しさん
垢版 |
2011/10/02(日) 03:26:16.98
>>455
読める?

> Jcodeのメンテナンスは旧Perlのために
> 今後も続けていく所存ですが、最新のPerlをお使いの方には、
> より高機能、高 性能、そしてなんといっても標準装備の Encode の方をお薦めします
0461デフォルトの名無しさん
垢版 |
2011/10/02(日) 13:41:05.10
レス不要。
このままだと、うんこカスがこびりついたパンツを履いてる様な不快感があったので。

>>432
% diff moose_test.pl moose_test2.pl
6a7,8
> { package OMos ; use Moose; has 'x' => ( is => 'rw', isa => 'Int' ) ; __PACKAGE__->meta->make_immutable ;}
> { package OMosX ; use MooseX::InsideOut; has 'x' => ( is => 'rw', isa => 'Int' ) ; __PACKAGE__->meta->make_immutable ;}
25a28,29
> omos => sub { my $x = OMos->new( x => 30 ) },
> omox => sub { my $x = OMosX->new( x => 30 ) },
0462デフォルトの名無しさん
垢版 |
2011/10/02(日) 13:41:17.48
% perl moose_test2.pl
Benchmark: running cap, cont, mo, mos, mou, mox, omos, omox for at least 3 CPU seconds...
cap: 4 wallclock secs ( 3.08 usr + 0.17 sys = 3.25 CPU) @ 202104.92/s (n=656841)
cont: 4 wallclock secs ( 3.23 usr + 0.01 sys = 3.24 CPU) @ 431619.44/s (n=1398447)
mo: 3 wallclock secs ( 3.18 usr + 0.00 sys = 3.18 CPU) @ 266261.01/s (n=846710)
mos: 4 wallclock secs ( 3.19 usr + 0.00 sys = 3.19 CPU) @ 9476.49/s (n=30230)
mou: 3 wallclock secs ( 3.18 usr + 0.00 sys = 3.18 CPU) @ 329823.27/s (n=1048838)
mox: 3 wallclock secs ( 3.22 usr + 0.01 sys = 3.23 CPU) @ 8935.29/s (n=28861)
omos: 2 wallclock secs ( 3.10 usr + 0.00 sys = 3.10 CPU) @ 83636.45/s (n=259273)
omox: 3 wallclock secs ( 3.13 usr + 0.06 sys = 3.19 CPU) @ 63226.02/s (n=201691)
Rate mox mos omox omos cap mo mou cont
mox 8935/s -- -6% -86% -89% -96% -97% -97% -98%
mos 9476/s 6% -- -85% -89% -95% -96% -97% -98%
omox 63226/s 608% 567% -- -24% -69% -76% -81% -85%
omos 83636/s 836% 783% 32% -- -59% -69% -75% -81%
cap 202105/s 2162% 2033% 220% 142% -- -24% -39% -53%
mo 266261/s 2880% 2710% 321% 218% 32% -- -19% -38%
mou 329823/s 3591% 3380% 422% 294% 63% 24% -- -24%
cont 431619/s 4731% 4455% 583% 416% 114% 62% 31% --
0463デフォルトの名無しさん
垢版 |
2011/10/02(日) 14:57:55.49
読めてるつもりだけど、Jcodeのおかげで食べているひとは
(数えたことないが)たくさんいるように思うし、感謝を
省くわけにはいかないな。技術論と離れてしまったがな。
0466デフォルトの名無しさん
垢版 |
2011/10/02(日) 15:37:05.45
相変わらず読みにくいな。自分が読みにくいと思わないのか?
MooseX 8935/s -- -6% -86% -89% -96% -97% -97% -98%
Moose 9476/s 6% -- -85% -89% -95% -96% -97% -98%
MooseX_immutable 63226/s 608% 567% -- -24% -69% -76% -81% -85%
Moose_immutable 83636/s 836% 783% 32% -- -59% -69% -75% -81%
Capsule 202105/s 2162% 2033% 220% 142% -- -24% -39% -53%
Moo 266261/s 2880% 2710% 321% 218% 32% -- -19% -38%
Mouse 329823/s 3591% 3380% 422% 294% 63% 24% -- -24%
Old 431619/s 4731% 4455% 583% 416% 114% 62% 31% --
0469デフォルトの名無しさん
垢版 |
2011/10/02(日) 15:57:21.82
>>437のレスが何の意味だったが、さっぱりだったんだが、
サブルーチン名に噛み付いてたのか
少くとも434では、説明文まで付いてるのに。
単なる文盲じゃんw
0470デフォルトの名無しさん
垢版 |
2011/10/02(日) 16:03:46.12
>>465
書いてあるのはおれも知ってるけど、書かれている内容が
うそだってこと。全機能がサポートされてるのならJcode2.x
は作られなかっただろ。
0474461
垢版 |
2011/10/02(日) 16:37:30.45
レス不要っつったのに。
>>466
御自分でベンチ取った事無いでしょう?
どれだけ表が見辛くなるか、確認して下さい。
ttp://www1.axfc.net/uploader/File/so/69883.txt
何の為に、短めのサブルーチン名にしてるか分ると思います。

このレスにもレス不要です。
0475デフォルトの名無しさん
垢版 |
2011/10/02(日) 17:35:21.23
>>470
> うそだってこと。全機能がサポートされてるのならJcode2.x
> は作られなかっただろ。

意味がわからん。
単にJcodeから乗り換えられない可哀想な人のためって
書いてあるだろ。
0477デフォルトの名無しさん
垢版 |
2011/10/02(日) 17:37:18.27
あと、お前の命令に従うつもりはさらさらないw

お前は俺の命令に従って
謝る以外のレスは不要なw
0478デフォルトの名無しさん
垢版 |
2011/10/02(日) 17:39:29.89
>>472
日付は標準モジュール or 軽いのを選びたいのならTime::Piece。
重いが高機能なものを選びたいのならDateTime

データベースは、ORMを使いたければDBIx::Class
0479デフォルトの名無しさん
垢版 |
2011/10/02(日) 17:45:09.42
>>476
csv の吐き出しオプションなんざ付いてねーぞ、
態々その為にコード書くのか?

ってExcelって時点で釣り確定だろうけどさ。
0481デフォルトの名無しさん
垢版 |
2011/10/02(日) 18:03:34.27
モダン廚は>>447に答えろ。

462は馬鹿正直に相手にすんな。
ベンチ内容に難癖付けられなくなったから、他の事でいちゃもん付けてるだけなんだから。
0482デフォルトの名無しさん
垢版 |
2011/10/02(日) 18:07:10.99
ベンチ内容、Moose関係大幅に向上してるやんw
十分実用レベルの速度出てるよな。

MooseとMouseの違い?
MouseはMooseの機能劣化版だよ。


ってか、速度が早いことが
最善とは限らないってのは、
この業界の常識だろ。
0488デフォルトの名無しさん
垢版 |
2011/10/02(日) 20:47:39.47
disってるつもりじゃなくてな、どうしてEncodeはJcodeのインタ
フェースをそのまま使わなかったのか素朴な疑問なんだよ。
0489デフォルトの名無しさん
垢版 |
2011/10/02(日) 20:55:37.04
思いついたままいうと、Jcode3.0とかでJcode0.xの機能もJcode2.x
の機能もEncodeの機能も実現できそうな気がするし、モダン派と
そうでない派の論争も(この件については)終結するんじゃないかと
思うんだ。
0490デフォルトの名無しさん
垢版 |
2011/10/02(日) 20:59:47.99
上位互換性があると過去のバージョンとの差別化が難しいから、
キャッチコピーが使えなくなってしまうので困るってことなの
かい?
0491デフォルトの名無しさん
垢版 |
2011/10/02(日) 21:05:29.13
>>488
> disってるつもりじゃなくてな、どうしてEncodeはJcodeのインタ
> フェースをそのまま使わなかったのか素朴な疑問なんだよ。
おまw アホか、もしかしてJcode知らんのか?

Jcodeのインターフェースって、jcode($str)->sjisとか ->euc とか ->iso_2022_jpだぞ
お前、そんなんで世界各国の文字コード全てサポートする気かよ。

それにEncodeとかJcodeではなくてな、Perlのコアの文字コードは、
UTF8フラグが付いたUTF8文字と決まってる。
これがPerlが理解している文字。Perlが文字と理解しているものに対して
lengthしたら、(バイト数ではなく)文字数が返ってくるし、
正規表現でちゃんと一文字として扱える。

JcodeはPerlが文字と解釈してないものを返すので
あるべき姿のPerlの使い方に適合していない。
0492デフォルトの名無しさん
垢版 |
2011/10/02(日) 21:08:50.66
>>489
JcodeはJなのに世界中の
文字コードサポートするんの?

Encodeいいじゃん。なんのメリットがあるのさw
0493デフォルトの名無しさん
垢版 |
2011/10/02(日) 21:13:17.84
まず上半分。

>Jcodeのインターフェースって、jcode($str)->sjisとか ->euc とか ->iso_2022_jpだぞ
>お前、そんなんで世界各国の文字コード全てサポートする気かよ。

Encodeだと引数、Jcodeだとメソッドっていうだけだと思うんだけど。
この違いで何か致命的にまずいことってあるの?
0496デフォルトの名無しさん
垢版 |
2011/10/02(日) 21:23:03.32
下半分。

>それにEncodeとかJcodeではなくてな、Perlのコアの文字コードは、
>UTF8フラグが付いたUTF8文字と決まってる。

例えば (仮称)Jcode3.x にメソッドを追加して、UTF8フラグが付い
たUTF8文字を扱うのはだめなのかい?
0497デフォルトの名無しさん
垢版 |
2011/10/02(日) 21:33:15.96
>>493
文字コードを変数に入れるような場合に見にくくなる。 $j->$encode

エンコード名が間違っていてもエンコード名が間違っていますのような適切なエラーが出せない。(関数がないと言われる)

エンコード名にハイフンが使えない。

ISO-2022-JP、ISO-2022-JP-2、ISO-2022-JP-3のように、
頭がISO-2022-JPで始まるものを、すべて扱うエンコーダー(Encode::JP等)が
作りづらくなる。

エンコード名に大文字小文字を無視するように作るのが面倒

Encode::from_toのように、変数の値を、”あれ”から”これ”に変換するとき
文字コードを値で渡す方がシンプル。使い方は統一すべきだ。
0501デフォルトの名無しさん
垢版 |
2011/10/02(日) 21:49:03.46
Jcode.pmの中身読んで、
- 後方互換のためにどれだけ苦心してるか
- どれだけ、速度を犠牲にしてるか
見りゃいいんだよ。

議論自体吹っ飛ぶぞ
0503デフォルトの名無しさん
垢版 |
2011/10/02(日) 21:54:30.95
じゃあEncodeはどうやってその問題を解決してるんだ?
Encodeの作りをJcodeのインタフェースで提供するって話だぞ。

それとこれからやるかって話じゃなくて思考実験な。
0505デフォルトの名無しさん
垢版 |
2011/10/02(日) 22:01:49.32
>>503
問題を解決するために頑張ってるのはJcodeだろw
Perl標準の文字にあわせて作られたEncodeは凄くシンプルだ。

Perlの文字(UTF8フラグ関係)を理解できる
脳みそ程度があれば良い。
0506デフォルトの名無しさん
垢版 |
2011/10/02(日) 22:03:40.98
>>503
もしかして、JcodeはEncodeのラッパーって知らないの?

EncodeのラッパーのJcodeで、Encodeを作るって
無意味だよね?
0507デフォルトの名無しさん
垢版 |
2011/10/02(日) 22:06:45.35
>>504,505

Jcodeでは

> - 後方互換のためにどれだけ苦心してるか
> - どれだけ、速度を犠牲にしてるか

に苦労しているって読めたが、

> Perl標準の文字にあわせて作られたEncodeは凄くシンプルだ。

なわけで、その実装を使ってJcodeのインタフェースを提供する
ってことだよ。
0508デフォルトの名無しさん
垢版 |
2011/10/02(日) 22:08:25.67
> なわけで、その実装を使ってJcodeのインタフェースを提供する
> ってことだよ。

やっぱりお前Jcode知らんのか。

今のJcodeはEncodeの実装を使って作られたものだ。
0509デフォルトの名無しさん
垢版 |
2011/10/02(日) 22:09:18.20
もちろんJcodeのインターフェースであるがゆえに、
日本語にしか対応できなくなっている。

Encodeの劣化版がJcode
0511デフォルトの名無しさん
垢版 |
2011/10/02(日) 22:13:44.34
そして、Jcodeに新たにメソッド増やしてEncodeと
同じ事を出来るようにするぐらいなら、
普通にEncodeを使えばいい。

新しいメソッドを使う以上、使い方は全く代わるわけで
なら標準のEncodeを使えばいいからだ。
0512デフォルトの名無しさん
垢版 |
2011/10/02(日) 22:14:49.67
移行するのであれば、Jcodeを使いながら
Encodeを導入し、徐々にEncodeを使った方法に
置き換えていけば良い。

Jcode3.0なんてものを作った所で
Encodeには移行できない。
0514デフォルトの名無しさん
垢版 |
2011/10/02(日) 22:19:16.07
EncodeというかPerl開発者が推奨している
標準の文字の扱い方だな。

PerlがUnicode対応した時から
どのように文字を使うべきかが決まった。

外部からの出入り口で、内部文字コードに変換して
Perlコードからは文字はすべてUTF8フラグ付きのUTF8文字コードで
として扱う。それがPerl開発者が決めたルールだ。

0516デフォルトの名無しさん
垢版 |
2011/10/02(日) 22:24:36.48
仕様と実装を分けて考えればいいんじゃないかと言ってる
訳なんだけど、どうしても切り離せないような話が返って
くるなあ。
0519デフォルトの名無しさん
垢版 |
2011/10/02(日) 22:27:46.67
>>516
なら答えは簡単だ。

機能の多いもの(全世界対応)から
機能の少ないもの(日本語専用)は作れるが、

機能の少ないもの(日本語専用)から
機能の多いもの(全世界対応)は作れない。

ならEncodeモジュールを基本とし、
Jcodeはそのラッパーという仕様が一番良い。
0520488
垢版 |
2011/10/02(日) 22:35:29.35
>>disってるつもりじゃなくてな、どうしてEncodeはJcodeのインタ
>>フェースをそのまま使わなかったのか素朴な疑問なんだよ。

なんか、488の回答の下地がようやく整ってきた感じがする。

>>519
その話の続きを聞かせて欲しい。
0521デフォルトの名無しさん
垢版 |
2011/10/02(日) 22:37:34.33
>>520
>488の回答であり続き。

おまw アホか、もしかしてJcode知らんのか?

Jcodeのインターフェースって、jcode($str)->sjisとか ->euc とか ->iso_2022_jpだぞ
お前、そんなんで世界各国の文字コード全てサポートする気かよ。

それにEncodeとかJcodeではなくてな、Perlのコアの文字コードは、
UTF8フラグが付いたUTF8文字と決まってる。
これがPerlが理解している文字。Perlが文字と理解しているものに対して
lengthしたら、(バイト数ではなく)文字数が返ってくるし、
正規表現でちゃんと一文字として扱える。

JcodeはPerlが文字と解釈してないものを返すので
あるべき姿のPerlの使い方に適合していない。
0522デフォルトの名無しさん
垢版 |
2011/10/02(日) 22:41:37.51
おれとしては521よりも519のほうが知りたかったことに近い。

うまく聞き出せなかったけど。
0523デフォルトの名無しさん
垢版 |
2011/10/02(日) 22:43:33.28
つか、JcodeがEncodeのラッパーになっている理由なんて
初心者プログラマでないなら、自然と理解できるはずなんだがw

逆にJcodeのインターフェースのままにしようなんて
思う奴はいないだろ。
0524デフォルトの名無しさん
垢版 |
2011/10/02(日) 22:50:03.72
519の話の続きにはとても価値があると思っている。でもそれは521
なんかじゃない。うまく質問ができるようになったら、教えて欲しい。
0527デフォルトの名無しさん
垢版 |
2011/10/03(月) 23:08:10.52
JcodeやEncodeを作るときに参考にした座右の銘、例えばTMTOWTDI
だとか名前重要だとかに相当するものってあるの?

オリジナルのものを作るときにはオリジナルの座右の銘があるん
じゃないかって思ってるわけで、それを知りたい。

521の情報は既知なので回答としてうれしくない。
0528デフォルトの名無しさん
垢版 |
2011/10/04(火) 01:37:52.77
>>527
> オリジナルのものを作るときにはオリジナルの座右の銘があるん
> じゃないかって思ってるわけで

何故?
0530デフォルトの名無しさん
垢版 |
2011/10/04(火) 06:59:36.13
jcode.pl
- perlでnkfみたいな事したいよね
Jocde0.X
- perl4 は古い
- OOP したいよね(jcode.plの雰囲気は残した形で)
Encode.pm
- (日本語だけじゃなく)世界で使えるのって必要じゃね?
- jcode.plに何の義理もないし、インターフェースもこの際、考えなおさね?
Jcode2.X
- Encodeがあるし役目終ってると思うんだけど…
- ラッパにしたよ
jacode.pl
- 弾嫌い。
0532デフォルトの名無しさん
垢版 |
2011/10/05(水) 23:30:33.31
そんなこといったら、jcode.plだってPerlだってもしかしたら
UNIXも、C言語もオリジナルではない。
ただ単に前世代をコピーし損ねることで、進化しただけだ。

まったくのオリジナルというこの世界と関わりのないような
ものはありえない。
0534デフォルトの名無しさん
垢版 |
2011/10/05(水) 23:50:45.55
>>530
互換性はあまり大事なものではない、と読み取れるんだけど、
いつの日かEncodeを自分の手でなくすときがくるのかい?

そのときは(例によって)全力で反対するからな。
0535デフォルトの名無しさん
垢版 |
2011/10/06(木) 06:15:40.07
EncodeとJcodeの互換性?
重要な訳無いじゃん。別の物なんだから。
EncodeとEncodeの後継の互換性?
(あればの話だが)重要に決まってるじゃん。

但し、Perl6のE
0540デフォルトの名無しさん
垢版 |
2011/10/07(金) 02:04:02.33
機能限定によってUTF8フラグがないのがうれしい。
さらにメソッド方式は失敗で引数方式に回帰なら
jacode.pl 最強?
0541デフォルトの名無しさん
垢版 |
2011/10/07(金) 03:49:31.51
UTF8フラグがないことを
喜ぶのがよくわからん。

馬鹿だから理解出来ないのか?
普通に考えて、文字数数えるときとか面倒だろ。
0545デフォルトの名無しさん
垢版 |
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アプリを作っているというのなら便利なんだろうけど、
そんなのプロならあまり使わないだろうし、ぶっちゃけ、その名前を出した時点で
あぁ、あんたは自社サーバーでシステムを動かしてサービス提供している側じゃないんだねと思った。
0548デフォルトの名無しさん
垢版 |
2011/10/08(土) 00:04:01.85
cpanmはインストールしたけど、ほとんど使ってない。
perlbrewは使ってない。
local::libは使ってる。無いと死ねる。
0551デフォルトの名無しさん
垢版 |
2011/10/10(月) 00:10:54.13
cpanmやperlbrewの作者たちは僕の中でプロと思える存在だったんだけど世の中には兵がたくさんいるんだな
0552デフォルトの名無しさん
垢版 |
2011/10/10(月) 01:22:29.43
> cpanmやperlbrewの作者たちは僕の中でプロと思える存在だったんだけど
え?

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

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

0554デフォルトの名無しさん
垢版 |
2011/10/10(月) 02:29:19.58
>>551
別にcpanmやperlbrewやその作者をdisっている訳ではなくて、
必要があれば使うしなければ使わないってだけの話でしょ。
すごいプロダクトならとにかく使わなきゃいけないって考えは変だろ。
>>552
> プロの間では使うことはまずない道具だろ。
んなこたあない。お前の「プロ」定義、歪んでるぞ。ものすごくシロウト臭い。
0555デフォルトの名無しさん
垢版 |
2011/10/10(月) 06:01:08.40
そもそも
> 自分で好きなサーバーを選べないrootも持ってないそういう
> ニッチな需要に対応するもので、
ここの認識から違う。
どっかの記事みてそう思っちゃったんだろうけど
0557デフォルトの名無しさん
垢版 |
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の使用者だ
0558デフォルトの名無しさん
垢版 |
2011/10/10(月) 13:42:54.40
>>557
cpanm(cpan)はアンインストールできないので
パッケージを作ったほうが優れている。

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

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

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

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

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

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

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

まあ別に"プロ"じゃないけどね。あ、昔仕事でスクリプト書いたことはあったんでその時だけは"プロ"だったか。
0569デフォルトの名無しさん
垢版 |
2011/10/10(月) 17:56:21.01
>>564
> 仕様書に「野良パッケージが便利だからdh-make-perl入れます」と書くのか?とか。
「野良パッケージが便利だからcpanで入れます」と書くのか?
お前の意見はどっちなんだ? 野良パッケージのインストールをするなってことなのか?
それはそれで有りだと思うよ。だが今の話とは関係ない。

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


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

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

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

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

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

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

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

cpanで入れるとモジュールの整合性がおかしくなる。
モジュールをパッケージで入れた(ディストリがパッケージで提供してる奴)
同じモジュールをcpanで入れた。さてどうなるか。
削除するとき、本当にちゃんと削除できたか、何かが残っていて
予期せぬことが起きる可能性だってある。
0577デフォルトの名無しさん
垢版 |
2011/10/10(月) 19:34:20.56
入れないじゃなくて、
入れられないの間違いでしょw
自分専用のマシン用意してもらえないとかで。
0578デフォルトの名無しさん
垢版 |
2011/10/10(月) 20:33:05.15
パッケージ管理の方こそ信用ならん。
インストールは全部makeで、Perlのモジュールはcpan。
0580デフォルトの名無しさん
垢版 |
2011/10/10(月) 21:16:17.19
debianの場合だと
往々にして妙にバージョンが古くて
それがトラブルの元になったりするから
とか?
0583デフォルトの名無しさん
垢版 |
2011/10/16(日) 22:18:05.00
Encodeの使用者って少ないって本当?
ネットにも本にも紹介されてるんだけど、実際に現場で使われてる
のは確かに見たことないんだよね。
0587デフォルトの名無しさん
垢版 |
2011/10/17(月) 04:57:36.37
それは
Encodeの使用者が少ない
んじゃなくて
Encodeが必要になるような局面が少ない
っていうことか。
それならわかる。
0588デフォルトの名無しさん
垢版 |
2011/10/18(火) 05:02:53.39
有用か無用の判断はともかく、ファイルハンドルからファイル名って取得出来ないのかしら?
Devel::Peek::Dump($filehandle) みたいに渡すとファイル名が表示されるから、ファイルハンドルから
ファイル名が取れるはずなんだけど Devel::Peek を読んでもまったく意味が分からないw

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


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

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

ありがとうございましたm(_ _)m
0597デフォルトの名無しさん
垢版 |
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;
0602デフォルトの名無しさん
垢版 |
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
には目移りしている
0603デフォルトの名無しさん
垢版 |
2011/10/21(金) 23:46:13.18
しっつもーん

PAR で exe 化したプログラムを有償にする場合って、ソースコードの公開義務ってあるんですか?
0606デフォルトの名無しさん
垢版 |
2011/11/03(木) 15:53:26.69
仕事で使うなら最悪の場合、自分でソース読んで改造・修正する
必要がでてくるので、能力的にも時間的にも自分で何とかなる
範囲のモジュールやライブラリを選ぶことになる。

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




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

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

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

はあー、タメイキ・・・
0611デフォルトの名無しさん
垢版 |
2012/01/09(月) 18:34:18.11
>>610
言語は何と何なら使えるの? ある程度の心得があれば大丈夫でしょう。
まるっきりのプログラミング初心者だと確かに大変かもしれないけど…
モンテカルロ法自体はそんなに複雑な方法でもないと思うし。
まさか最初から全部自分で書けって訳でもないだろうし。そのまさか?
0614デフォルトの名無しさん
垢版 |
2012/01/09(月) 22:59:46.40
>>611
プログラミング初心者です。
書けるのはHTMLくらいです。
論文に、前提と結果だけがあるんですけど、
プログラムがどんなか、わかりません。
0616デフォルトの名無しさん
垢版 |
2012/01/09(月) 23:52:44.96
初心者なのかーそりゃ大変だ。
期間がどれくらいあるのかにもよるだろうけどねえ。
まあ周囲にプログラミングの心得のある人がいないか探して
ちょっとアドバイスとかいろいろ頼ってみたら。
0619デフォルトの名無しさん
垢版 |
2012/01/15(日) 11:01:32.44
>>610
ちょろっと検索しただけでいろいろ出てくるぞ。
でもPerlを覚えるのが目的ではないのだとしたら、おれならAWKで
書くな。その方が覚えることが少ないし、記述するのに機能が足り
ないってこともないと思う。もしどうしてもPerlでっていうならば
書き終わってから a2p でPerlスクリプトにすればいい。
0621デフォルトの名無しさん
垢版 |
2012/01/15(日) 17:28:55.42
何だ?ネットワークのネの字もなかったのにいきなり高度な...
ネットワークとモンテカルロ法は別物だから切り離したほうが
よくね?まさかGUIも必要だとか言いださないよな?一個ずつ
駒を進めようぜ。
0622問題です
垢版 |
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
0623問題です
垢版 |
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
0624問題です
垢版 |
2012/01/18(水) 03:42:27.39
問3) 裏から覗く? 難易度:★★☆
正規表現を使い、(3-A)の$textの中の「表」を「裏」に置換して、
(3-B)と同じ内容を表示してください。

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

(3-B)
\裏\助\封\呂\裏\
0626デフォルトの名無しさん
垢版 |
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 を使って実行します
0627デフォルトの名無しさん
垢版 |
2012/01/20(金) 00:58:15.41
# 問2) パスの分割 難易度:★★☆

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

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

print $path, "\n";

__END__
※ このスクリプトは jperl を使って実行します
0629デフォルトの名無しさん
垢版 |
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チャンネルで行うのは今後、禁止いたします。
0631問題です
垢版 |
2012/01/20(金) 03:41:59.47
>>629
正規表現で置換してないので、間違いです。
それと、jperlとお幸せに。
0633へたくそ
垢版 |
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");
0634へたくそ
垢版 |
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");
0635先生より
垢版 |
2012/01/20(金) 21:57:35.26
何人かの生徒から知らせを受けて、まさかと思いここをアクセスしたら
問題がそのまま掲載されていて、驚いています。

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

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

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

あわてずに問題を読みましょう。
あ、それと君も職員室に来てください。
0639先生より
垢版 |
2012/01/20(金) 23:39:20.06
誰も名のらなかった場合は、全員を減点します。
校長先生には許可をもらいました。

おや?そうなると進級できないひとがでてきそうですね。
もしかして、書き込んだのは...
0641答え
垢版 |
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++;
}
0642答え
垢版 |
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);
0643答え
垢版 |
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
0644答え
垢版 |
2012/01/21(土) 13:25:14.16
コードはTMTOWTDIってことで。

こんな面倒なことをやっても、このコードはCP932専用。
EUC-JPかUTF-8に変更されると書き直しに迫られる。
Perlの三大美徳の怠惰を忘れずに。
0645デフォルトの名無しさん
垢版 |
2012/01/21(土) 14:32:17.48
で本当の問題は、これをEncodeモジュールを使って
CP932、EUC-JP、UTF-8全て対応にするという物。
0648デフォルトの名無しさん
垢版 |
2012/01/21(土) 22:46:51.21
# 問3) 裏から覗く? 難易度:★★☆

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

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

print $text;

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

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

こうすることで正規表現による置換ができます。
0649デフォルトの名無しさん
垢版 |
2012/01/22(日) 11:29:56.92
英語版のperlで日本語を処理しようとするのはナンセンスです。
すでにjperlがあるわけですから賢く使い分けましょう。また国際化
対応していれば日本語も扱えるとのたまう輩もおりますが、軽く
受け流して、可能なら5.8スレの方に誘導してあげましょう。
面倒な場合はスルーでも構いません。
0650デフォルトの名無しさん
垢版 |
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;
}

問題がつまらんね
0652デフォルトの名無しさん
垢版 |
2012/01/22(日) 11:56:43.81
jperlにしがみつく人が屁理屈で問題作ってるんだよ
もし学校で「jperlだけを使いなさい、jperlを前提としたプログラムを作りなさい」って
教育してるなら日教組並みの害悪
0654デフォルトの名無しさん
垢版 |
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++;
}
0656デフォルトの名無しさん
垢版 |
2012/01/22(日) 12:44:34.84
>>645
モダンにいくなら、UTF-8で書いて、こんな感じ。

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

...
0659デフォルトの名無しさん
垢版 |
2012/01/22(日) 17:50:00.68
たくさんの回答、ありがとうございました。
中には学校で習ったものよりも高度なものがあり、パールの苦手なぼく
にもとても参考になりました。でも将来プログラマになるわけではない
ので簡単なJPERLで十分かな?と思っています。

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

ところで職員室は第一ですか?それとも第二のほうがいいですか?
0662先生より
垢版 |
2012/01/22(日) 21:23:13.30
第二です。8:40までにくること!
0664デフォルトの名無しさん
垢版 |
2012/01/22(日) 22:03:07.77
便利だったら無理に勧めなくたって、みんな使い出すんだろうね
他の何かをdisるのはなぜか危機感を感じてる証拠だろうね
0665デフォルトの名無しさん
垢版 |
2012/01/22(日) 23:16:21.58
>>659
ああ、一人で幸せに暮らしてくれ。
JPerl(Perl 5.003_07)というCPANどころかData::Dumperすら無いシロモノを他人に勧めるな。
0667デフォルトの名無しさん
垢版 |
2012/01/22(日) 23:26:02.71
道具を使うのは人間なんだから、使いやすいものをそのときどきによって
選択すればいいよね。あるから使わないといけないと考えるのは本末転倒
で無駄な苦労をすることになるよね。でもまあご自由にどうぞ。
0668uy
垢版 |
2012/01/23(月) 17:02:41.36
可愛そうに・・・・・・


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

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

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

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

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

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

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

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

ああ、それと>>667の意見には同意です。
0675uy
垢版 |
2012/01/24(火) 00:02:01.90
>>673
ほら突っついたらでてきた
井の中の蛙wwwww

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

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

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

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

CGIを書くためにどのWeb言語を使うのか?
その選択がお前たちは出来ないから・・・・こんなスレにいるんだろwwwwwwwwバカかwwwwwww
perl一生つかっていろよwwwwwwwwwwwwwwwwwwWWWWWWWWW
0676デフォルトの名無しさん
垢版 |
2012/01/24(火) 01:16:41.40
早い話が、結局何をやってもものに出来なかった人の嫉妬ですね。
0679デフォルトの名無しさん
垢版 |
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
0681デフォルトの名無しさん
垢版 |
2012/01/25(水) 17:49:38.95
ぶっちゃけもはやスクリプト自体はutf-8で書くことが多くなってるし
jperlとか害悪としか思わない
0684デフォルトの名無しさん
垢版 |
2012/01/27(金) 01:25:11.60
ぶっちゃけ単にエンタープライズ環境を知らないだけなんだろうな
10年、20年と動かすソフトウェアを流行りに合わせて書くわけには
いかんからな
0688デフォルトの名無しさん
垢版 |
2012/01/27(金) 17:46:45.90
>>687
ジェネリックス禁止とか、for-each文禁止とかは企業なら普通にあるだろ。
互換性もそうだが、Javaオタクを排除して誰でも保守できるようにするという
重要な側面がある。

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

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

あと、ppmが走っているようなので大丈夫のようですが、ユーザー名に
日本語を使用するとppm関係でこけた記憶があります。
0693デフォルトの名無しさん
垢版 |
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 リポジトリの追加あたりでググって見てください。
ミスリードしたみたいですいません。
0694デフォルトの名無しさん
垢版 |
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 );
0695694
垢版 |
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
]
0697デフォルトの名無しさん
垢版 |
2012/03/04(日) 19:10:14.90
.(ピリオド)を_(アンダースコア)に変換しようとして、\マークを付け忘れたので、
ファイルの全てが_で埋め尽くされたファイルが出力されたorz
0699デフォルトの名無しさん
垢版 |
2012/08/04(土) 13:16:49.80
Perlコード汚すぎる。
0701デフォルトの名無しさん
垢版 |
2012/10/17(水) 18:25:33.11
文字列の処理が容易である
とくに文字列のパターンマッチ能力に優れている
動的データの処理に優れている
OSとの連携に強い(OSのコマンド、GUIツールキット)
インタプリタ型である
(スクリプト言語に共通する特徴)

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

CがC++になって迷走するのと同様、Perlも赤の他人が拡張すると迷走して
その後は...
0703デフォルトの名無しさん
垢版 |
2012/10/24(水) 02:32:36.90
>>699
もともと、アドホックな使い捨てのコードを書くための言語だからなー。
コードの保守性とか再利用性とか始めたらダメ。
可読性なんて考えずに、組み易い書き方で手早く作って、
パッと使って、そんでおしまい・・・というのが正しい使い方。
0707デフォルトの名無しさん
垢版 |
2012/11/10(土) 13:11:12.89
read うんたらかんたら
at end
* EOF時の処理
not at end
* 読めたときの処理
end-read

のファイル入力構文は初めて見たときカルチャーショックだったな
0708デフォルトの名無しさん
垢版 |
2012/11/17(土) 14:18:46.56
言語が違えばやり方は違うんだから想定の範囲内だがな
むしろC言語系の方が後からできたわけだから(いい意味で)カルチャーショック
だったが
いずれにしても遠い過去の話だな、おじいさんよ
0709デフォルトの名無しさん
垢版 |
2012/11/17(土) 17:59:06.65
>>708
いやJavaを先にやってたから
後でCOBOLのコード見たときにカルチャーショックだったんよ
EOFを返してもらうんでなく、構文としてやるってのがね
0710デフォルトの名無しさん
垢版 |
2012/11/17(土) 20:21:00.74
でもパソコンじゃあC言語の前にBASICがあって、それって
いま言ってるCOBOL風になってなかったっけ?
709はパソコンの創世記を知らない若い世代なのかな
0711デフォルトの名無しさん
垢版 |
2012/11/17(土) 21:32:41.75
>>710
昔を知らないのは当たり…なのかな、自分が使ったことのあるBASICは
VBとか、N88なら互換系BASICくらい
(PC98でのN88も「その時点で既に年代物として」一度だけ触ったことはある)
でもそれらもC系と同じくEOF()関数みたいなので判定する形式だったような…
EOF判定自体をブロック構文にしてしまってるのは今のところCOBOL以外見たことないっす
0713デフォルトの名無しさん
垢版 |
2012/12/03(月) 23:15:25.81
PHPもPerlもただのプログラミング言語だから育てたりとか袋叩きにしたりとかはしない。
というかできない。
なにか違う次元の違うしろもののことを言ってるんだろうけど異次元の住人の話はよくわからんな。
0714デフォルトの名無しさん
垢版 |
2012/12/04(火) 00:49:41.86
「同じ問題でも解き方は人によって違っていい」ってのが Perl の思想だからな。
人格否定なんてありえない。
0717デフォルトの名無しさん
垢版 |
2012/12/15(土) 21:53:54.04
初心者を袋叩きにして人格否定までするのはモダンPerl。
いわゆる普通のPerl利用者はそんなことはしない。混同しないこと。
0719デフォルトの名無しさん
垢版 |
2013/01/12(土) 17:48:21.31
え?
0722デフォルトの名無しさん
垢版 |
2013/01/28(月) 23:19:32.03
いろいろ複雑なテキスト解析をして、最終的にExcelのファイルにしたい
要は、既にあるExcelのファイルとフォーマットは同じで、
中に書いてあるテキストだけ入れ替える感じ

どういうステップを踏むのがいちばん楽だろう
0726デフォルトの名無しさん
垢版 |
2013/01/29(火) 03:02:33.78
ファイルのi/oでexcelのシートを作るのは面倒だから、
use Win32::OLE::Const 'Microsoft Excel';
で、ExcelのセルいじっちゃいなYO
0727デフォルトの名無しさん
垢版 |
2013/01/29(火) 08:21:49.20
Perl使いをなめるなよ
CPANにはExcelファイルを出力するモジュールがいっぱいある
ttp://search.cpan.org/search?query=Excel&mode=all
0728デフォルトの名無しさん
垢版 |
2013/01/29(火) 19:31:23.69
ダイレクトでxlsを吐くんじゃなくて、
一旦テキストに出して、そこからxlsを作るExcelマクロを走らせるのが楽

全部perlでとか、全部Excelでやろうとすると、手間が増える上に保守性も落ちる
0729デフォルトの名無しさん
垢版 |
2013/02/17(日) 02:01:28.40
うん、Excelファイルはすごく複雑
MS以外が不具合なしに扱えるものじゃない。
絶対バグでハマる。
0730デフォルトの名無しさん
垢版 |
2013/02/17(日) 09:22:06.54
中間ファイルのフォーマットをきっちり決めて、
Excel 側で、マクロなりインポートなりで、
データ取り込む手段を確立して、
それに合わせてファイルを生成するのがおそらく一番間違いが少ない。
0732デフォルトの名無しさん
垢版 |
2013/02/23(土) 00:52:05.88
Perlでテキスト⇒テキスト変換をして
UWSCでExcelに取り込む
実はUWSC内で上のPerlも実行するから一発で処理が終わる
0733デフォルトの名無しさん
垢版 |
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)などの伝統産業として知られ、
バーレーンの真珠文化は昨年、国連教育科学文化機関(ユネスコ)の世界遺産にも登録された。
日本が真珠産業の復活を手助けすることは産油国との関係強化にもつながる。
(共同)
0735デフォルトの名無しさん
垢版 |
2013/11/03(日) 19:00:39.80
お前らにはどう見えるか知らないが俺にはこう見えてるぞ

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

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

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

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

{}
双子の活発な女の子
いつもターゲット(printf)を挟み撃ちにしてほっぺっとほっぺでギューっとする
最後に軽くキスをして誤るのが恒例行事に成っている
0736デフォルトの名無しさん
垢版 |
2013/11/03(日) 19:02:27.31
()
若干、中二病の女の子
頭が良く、成績優秀だが中二病発動中、常識がまさる事が多いので
完全に中二病になりきれていない
+
凄く普通な女の子
なんでも出きるが、それ故に目立たない
欠点という欠点も見あたら無い
char
ちょっとカラフルな女の子
グループ内で中心的存在、だけど、結構な寂しがり屋
周囲からはカッコイイけど2人きっりの時に、後ろから抱き締めたくなる
っと、囁かれている
open
豪快な性格、隠し事が嫌いで、聞かれたら下着の色まで答えてしまう
裏表ない彼女の性格は周りからは好かれている
授業中でもキスしたいと思ったらキスしたいと叫んで強引キスしようとする。それを周囲が
なだめる事もしばしば…欲望に直球なだけかも知れない
==
会議でのまとめ役、分析が得意で計算もはやい
アニメが大好きで会議中でも時間が来たら勝手に切り上げて帰ってしまう
優秀な人材が居なくなるのは避けたい***は、会議室にテレビを設置したとか…
unless
doと、、いつも一緒で、犬が大好き
特に柴犬が好きで週に3回は触れ合いランドに出かける
明るい彼女に寄って来るのは何故か大人しい犬ばかり
do
犬が大好きな小柄な女性
独特の雰囲気をかもし出している彼女には活発な大型犬が集まりやすい
涎で帽子が湿っている事もしばしば有る
unlessからは活発な犬に好かれているのでやきもちを焼かれる事も…
0738デフォルトの名無しさん
垢版 |
2014/02/23(日) 00:44:51.23
eq くんを忘れないであげて!
必要不可欠な子なのに、新人さんに中々顔を覚えて貰えないのは不憫すぎるよ!
0740デフォルトの名無しさん
垢版 |
2015/01/04(日) 23:00:46.21ID:xcUbwpxr
active perl は DBD::MySql に対応するつもりは無いの?
古いバージョンでは動作するけど、無償ダウンロードできないし・・・
やる気あんのか?>active
0742デフォルトの名無しさん
垢版 |
2015/01/26(月) 00:28:29.03ID:Nas4rFKx
インストールが楽だ
0744デフォルトの名無しさん
垢版 |
2015/02/22(日) 11:59:05.28ID:ER52YIGr
flex 使うのも場合によってはありかな。
0745デフォルトの名無しさん
垢版 |
2015/02/23(月) 15:01:38.78ID: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
0748デフォルトの名無しさん
垢版 |
2015/06/06(土) 13:16:02.82ID:xONP+8H7
6/1に公開された5.22で「ダブルダイアモンド演算子」が導入された
たとえば perl -e 'while(<>){ ... }' ファイル ファイル ...
は引数に指定したファイルの内容を順に処理するが
perl -e 'while(<>){ ... }' 'command |'
とかやると 'command |' というファイルではなくcommandを実行してその結果を処理してしまう
while(<<>>) ならそういうことがない

...
知らなかった(汗)
<>自体の仕様を変更してもよかったレベルじゃね?
0749デフォルトの名無しさん
垢版 |
2015/06/06(土) 16:20:09.81ID:PUUeW4+U
安易に仕様変更とか言う奴は死ぬべき。
前者の仕様に依存した実装だってあり得るんだから
0753デフォルトの名無しさん
垢版 |
2015/12/28(月) 01:26:56.58ID:kY09W9+C
Windowsにgitクライアントをインストールすると
Strawberry Perl が変な動作するのは
オレだけ?
0754デフォルトの名無しさん
垢版 |
2016/01/10(日) 13:40:06.62ID:/ndDSiBm
971 名前:名無しさん@七周年[] 投稿日:2006/11/11(土) 00:56:10 ID:M8+ahUZV0
自称スーパープログラマー某

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

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

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

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

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

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

電話や共有携帯電話 キーボードが油ベタベタ
奴に電話とPCとコンソールは触らせてはいけない
0755デフォルトの名無しさん
垢版 |
2016/03/29(火) 09:57:20.41ID:/c8bAcK4
サッカーブッシュ日本代表日程ぷあたん(しゅっちょうまいくろ教育長交代)春文執行40代売上差額シュガーチョコ
https://www.youtube.com/watch?v=NDq1QoJY0nY宇ドナルドアナリストパワーストーンコーチングとしまえん
サッカーブッシュ日本代表日程古本屋よしたけしゅっちょうちょこしゅがー
ディーラー税務署天才開発者死亡詰みヨミドクターマイクロサービス不足
サッカーブッシュ日本代表日程ぷあたんシフト光金さかい強制バイト人権侵害問題
春分資源執行ニューヨーク低原価ぼったステーキソルトレイク福岡横浜新橋奴隷課金パチシフト強制バイト問題新潟米センター生残
コスメ24チャリティー隠れ40代生活保護プレイボーイバイトレードいたりあん接待問題
マスコミKARDローンケーオーサービス不足婚活パーティー寄付金執行原発ビジネス
FBIチャイニーズタイホテル売上事務所ガチャ決算ガチャキャンペーン(販売報道陣過激派組織向携帯最新情報提供終了
校長発言細心注意ノートン産廃エラー(著作権クレーム中国反応融資高額教育費)(中国捕鯨団体40代社員サッカーコメント
高額入学金ヤフウ新橋大学ヤフウ新橋理事長FX経費 おじや50代資産ガリバズフィード40代エリート
0756デフォルトの名無しさん
垢版 |
2016/04/09(土) 17:13:17.22ID:P1lehKRX
読みにくいperlコードがある場合はデバッガの機能使おう
perl -MO=Deparse スクリプト名 で実行するとperlからそのコードがどういうふうに見えるかが表示される=曖昧な記法じゃなくなるから読みやすくなると思う

use strict; use warnings; してなかったり変数やメソッドに適切な命名できてないようなやつは知らんw
0758デフォルトの名無しさん
垢版 |
2018/03/03(土) 13:24:56.59ID:GGmAMA7z
Perl6は、期待してたんだけど、どうやら普及しなさそう。
ちょっと試してはみたけど、C系と意外に違ってて、なんか使いにくいんだよなあ。
0759デフォルトの名無しさん
垢版 |
2018/03/05(月) 10:07:55.39ID:qTf9YbOJ
>>757
まあしかし少なくともUNIX系OSではなんでも作れるスクリプトとして根付いてるから中々なくなりはしないと思う。
0760デフォルトの名無しさん
垢版 |
2018/05/23(水) 20:14:56.26ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

786Y4
0762デフォルトの名無しさん
垢版 |
2018/07/04(水) 23:56:05.51ID:gFgZc5FG
8PU
0763デフォルトの名無しさん
垢版 |
2019/06/08(土) 05:39:12.98ID:CQrzC4Mf
数学用途で久々にperl5で書いた
スコープ制限 や use strict など一切なしのぶっきらぼうな書き方

......完成したコードは変数名などがわかりやすく、例外処理も丁寧な仕上がりだった
保守性重視の書き方しみついたのはなかなか変わらないんだな
0764763
垢版 |
2019/06/13(木) 14:47:43.00ID:/0Hvd4dT
キャッシュ層の有無も含めて速度もベンチマーク撮りながら
途中でデバッグ用の追跡コードも挟んだりし
use strict や warnings 等もつけたり
スコープや変数名など仕上げた


書き始めは荒っぽく自由に様々なアプローチを試し
デバッグ情報も臨んだ情報が自由に手に入り
望めば保守性の為に厳格に書ける

リストの畳み込み計算など無いものもあるが
おおむね良い言語だ
0765デフォルトの名無しさん
垢版 |
2019/06/15(土) 00:55:54.14ID:dlWE+pCO
ActivePerlを見限ってついにStrawberryPerlにしたぜ!
26.3がやっと半年ぶりに更新された
30が出てるのに28.1になるとかわけわからん
せめて28.2にしろよ
0766デフォルトの名無しさん
垢版 |
2019/10/14(月) 22:16:21.37ID:ShGJQFvk
StrawberryPerlはコンパイル環境が丸ごとバンドルされているのでおススメだよ。
0767デフォルトの名無しさん
垢版 |
2019/11/18(月) 21:00:37.30ID:vV3s+CrD
Android上でPerlとか動かす実行環境あったのな。ついさっき知った。

https://docs.solab.jp/sl4a/
0768デフォルトの名無しさん
垢版 |
2020/01/01(水) 14:14:05.07ID:fUaq4dOi
以前ローカルタイムと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年にいきなり変わるって、元からそういう仕様だったの?
0770デフォルトの名無しさん
垢版 |
2020/01/01(水) 16:16:55.11ID:fUaq4dOi
>>769
わかった。ソース見てわかった。50年な。今年の年に50足して100で割った余りを区切りにするから70が区切りで、70未満は今年の世紀の2000足しちゃうのな。
どうりで71年からはちゃんと計算できると思ったら。
0771デフォルトの名無しさん
垢版 |
2020/01/01(水) 16:17:56.87ID:fUaq4dOi
未満じゃない。以下か。
0772デフォルトの名無しさん
垢版 |
2020/01/01(水) 16:21:54.06ID:Vy5hpr3F
ドキュメントを読めよ。

ちなみに確認しないけど、西暦2桁表記は、1970年を基準に±50年の範囲と見なすってのはなんかであった気がする。
0774デフォルトの名無しさん
垢版 |
2020/01/01(水) 20:55:02.80ID:MALUlSLD
年の2桁表示とか、紛らわしい表記は使ってはいけない!

2020/01/01, 2020-01-01 など、フル桁の4/2/2でないといけない
0777デフォルトの名無しさん
垢版 |
2020/01/05(日) 19:51:48.79ID:YU7sLweA
>>772
その区切りが移動するんだな。
0778デフォルトの名無しさん
垢版 |
2020/01/05(日) 22:57:34.53ID:UM8RYdV+
それにしても年2桁をある年を境に分けるしてって、
俺が中学生の頃に作った家計簿ソフトみたいだなw
もう30年ぐらい前になるのか?
0781デフォルトの名無しさん
垢版 |
2020/01/08(水) 12:14:45.57ID:1aWtkc80
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));"
0782デフォルトの名無しさん
垢版 |
2020/01/08(水) 19:45:30.94ID:naqRCa+g
あー。%s か。
0783デフォルトの名無しさん
垢版 |
2020/01/09(木) 10:06:14.57ID:Gxf4nQ6S
フォーマットを %.16f にしたら 2.999... のように出たよ。
まあでも環境によって違うかも知れないけどね。
0784デフォルトの名無しさん
垢版 |
2020/01/09(木) 13:01:10.00ID:CwRR9iY2
ある整数$nを10進表示するために必要な桁数を求めるためにlog($n)/log(10)を使ったのが良くなかった。
小難しいこと考えずにperlらしく素直に文字列としてlength($n)で桁数を取得するのが正解。
0785デフォルトの名無しさん
垢版 |
2020/01/09(木) 20:26:28.10ID:C+kuIm3o
Perlじゃなくても、浮動小数点数なら残当。
結局、10で何回割れるか数えるのが一番合理的なんかねえ。
0786デフォルトの名無しさん
垢版 |
2020/01/10(金) 04:53:14.77ID:EqsvE6i0
問題の本質は、整数と実数の型区別がない言語において、3なのか2.99…なのか簡単に識別する手段がないこと。
0787デフォルトの名無しさん
垢版 |
2020/01/10(金) 05:45:42.75ID:EqsvE6i0
PerlはCPU依存の浮動小数ではなく、独自の浮動小数を実装している。
計算速度がCやJava劣るのは、単にPerlがスクリプト言語だからというだけではない。
独自な浮動小数には良い面も悪い面もあるが、浮動小数の精度を変更できるのは大きな強み。
以下は、浮動小数の精度を10進換算100桁にするための宣言。

use bignum (a => 100);
0788デフォルトの名無しさん
垢版 |
2020/01/11(土) 16:09:16.79ID:j7/IvFvR
>>786
ないな。一応 0.5 足してから int() で整数化すれば四捨五入になるけどね。自分でそう書かないとダメだったと思う。誰かがモジュール作って関数化してそうだけど。
0789デフォルトの名無しさん
垢版 |
2020/01/11(土) 20:26:50.93ID:usOdB8FH
>>786
んなもん、そもそもあるわけがない。
浮動小数点数表現はおろか、有理数表現でも完全に表せない値は当たり前なんだから。
0790デフォルトの名無しさん
垢版 |
2020/01/15(水) 02:51:20.42ID:pd5/9Sat
「Git 2.25」リリース、「git sparse-checkout」コマンドの追加や細かい機能強化が行われる
https://mag.osdn.jp/20/01/14/171500
内部的な変更としては、「git add「コマンドの「-i」オプションをPerlベースからCに書き換える作業をスタートさせた。
0792デフォルトの名無しさん
垢版 |
2020/02/10(月) 18:58:18.71ID:TxaBglIi
それはWebのページに埋め込むような感じで使えるかという意味?
0793デフォルトの名無しさん
垢版 |
2020/02/11(火) 17:48:20.39ID:ix+UlUL8
PHPのプログラム中からPerlを呼び出すのであれば「php perl 呼び出し」等のキーワードでググれば沢山出てくる。
0794デフォルトの名無しさん
垢版 |
2020/06/06(土) 11:22:08.79ID:5FXxLs+t
2015年にリリースされたmacOS X 10.11 以降、SIP(System Integrity Protection)によってディレクトリ/Systemがガードされるようになった。
これにより2013年にリリースされたperl 5.13が/System配下にありガードされてアンインストールできなくなっている。
2019年にリリースされた最新のmacOS 10.15 Catalina もいまだにperl5.18のままという有様。
0795デフォルトの名無しさん
垢版 |
2021/10/01(金) 19:08:40.79ID:VGp4ti15
新しい Windows PCに Active Perlインストールしたら perl.batになってて使いづらいので
Strawberry Perlに変更した
0797デフォルトの名無しさん
垢版 |
2021/10/02(土) 10:57:54.57ID:77ApQga0
>>796
Git for Windowsに付属のbash(MINGW)で十分だと思う
0798デフォルトの名無しさん
垢版 |
2021/10/02(土) 14:25:59.98ID:yFRwYWli
Git for Windowsに付属のbashってminttyだっけ
便利過ぎて死ぬわ
0799デフォルトの名無しさん
垢版 |
2021/10/02(土) 15:08:59.66ID:HPoADLry
>>797
ホントにずっとそのままでええんならな。
MSYS2にしとけば、あとからpacmanでいろいろ足せる。
0800デフォルトの名無しさん
垢版 |
2021/10/02(土) 15:15:17.46ID:lWVjrMOX
WSLでUbuntuもよろしく
0801デフォルトの名無しさん
垢版 |
2021/10/02(土) 16:46:10.72ID:77ApQga0
WSLのPerlだとWin32API呼び出しできないからニーズを満たせないと思ふ
0802デフォルトの名無しさん
垢版 |
2021/10/02(土) 16:55:22.91ID:77ApQga0
ちなみにGit for Windows (2.33.0.windows.2) にもPerlが入ってる
Strawberry Perlは5.32までしかないのにGit for Windows版Perlは5.34
嘘だと思うなら調べてみるといい
マジだから
0805デフォルトの名無しさん
垢版 |
2022/06/30(木) 22:37:09.92ID:paUH0cS8
Perl 5.36 が公開されたというのに、どのPerl関連スレも閑古鳥が鳴いていてさびしいねえ
0806デフォルトの名無しさん
垢版 |
2022/07/02(土) 13:20:38.18ID:OYFQm13f
Windowsでコマンドライン生活をしてると
utf-8かsjis(cp932)で改行がCRLFのテキストを扱うのがほとんど
結局コマンドプロンプトでPerlを使うのが一番使い勝手がいい…と思ってる
0807デフォルトの名無しさん
垢版 |
2022/07/03(日) 05:14:11.23ID:S0pZ0Csa
>>806
わかる気がする
文字コード不明なゴミ文字列を食わされたらすぐ例外を吐く繊細なPythonは日本語版Windows向きじゃないんだよな
0808デフォルトの名無しさん
垢版 |
2022/07/03(日) 14:29:42.06ID:PqlrjItE
馬鹿には無理
0809デフォルトの名無しさん
垢版 |
2022/07/04(月) 03:27:03.23ID:E+MehTl/
Perlの比較対象はsedとかawk
多段パイプでsedとawkをつなげまくってるのをPerlですっきり
0811デフォルトの名無しさん
垢版 |
2022/07/05(火) 17:14:50.15ID:tNMhVh98
PowerShellはバイナリがパイプに流せないからな
バイナリを流さなくても文字コードをいろいろ使う人には不便極まりない
0817デフォルトの名無しさん
垢版 |
2022/07/06(水) 21:39:44.49ID:ln/Yt+4k
Perlでのワンライナーコマンドの成功体験を忘れられなかった人が、潤沢な資源を使ってPerlっぽいシェル作ったら明るいディストピアになってしまった感じ
それがPowerShell
0818デフォルトの名無しさん
垢版 |
2022/07/07(木) 20:54:38.67ID:cvqD9lK8
文法の類似性は全く感じられない…いやまじで

それはともかくWindowsでPowerShellをシェルとして使ってるとPerlと相性悪すぎる
コマンドプロンプトなら問題ないのにね
0819デフォルトの名無しさん
垢版 |
2022/07/07(木) 21:37:13.86ID:PsBgcgR1
Perlだけじゃないよ
PowerShellはSTDIN, STDOUTを使うあらゆる伝統的アプリと相性が悪い
0820デフォルトの名無しさん
垢版 |
2022/07/08(金) 07:50:38.59ID:EP1tRVB4
たとえば
perl -E '$a = 1; say "\$a = $a"'   …… (1)
結果はもちろん
$a = 1
コマンドプロンプトだと引用符に ' が使えないから
perl -E "$a = 1; say qq/\$a = $a/"
とかするわけだけど、PowerShellなら ' も使えるから(1)でいけると思うわな
ところが結果は
SCALAR(0xf00e68)
さすがにこれは凄過ぎる
0822デフォルトの名無しさん
垢版 |
2023/11/20(月) 03:36:08.26ID:BbmiohCI
バイナリの種類が減ったけどどうしたんだろう_?
ZIP版がなくなったのはちょっと寂しい
いろいろビルドするの大変だったのかな…
いずれにせよWidows用処理系のバイナリが提供されるのはありがたい
0823デフォルトの名無しさん
垢版 |
2023/11/21(火) 15:33:51.20ID:qJoihvDX
>>820
Windows PowerShell 5.1 ではこの通りだったけど
最新の PowerShell 7.4 ではちゃんと
$a = 1
になるように改善されてる
0824デフォルトの名無しさん
垢版 |
2023/11/27(月) 18:46:28.12ID:17nvp8y6
$ perl -e '$a="abc"; $a =~ s/(.*)/[$1]/g; print $a . "\n"'
[abc][]

なんで後ろに[]がついちゃうの?
後ろに[]をつけないにはどうすればいいの?
0825デフォルトの名無しさん
垢版 |
2023/11/28(火) 01:13:40.51ID:cm6gsnuQ
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回マッチしているようだ

これは正規表現のスレで聞いた方が良いかも
0826825
垢版 |
2023/11/28(火) 01:36:42.16ID:Nm9lZ/Iv
Ruby でやったら、sub/gsub のどちらも空文字列にもマッチする!
%Q() が、"" と同じで空文字列

re=/(.*)/;
puts %Q().sub(re){ %Q([#$1]) }
[]

re=/(.*)/;
puts %Q().gsub(re){ %Q([#$1]) }
[]

Perl はよく知らないけど、正規表現の
s/(.*)/[$1]/g
の、s かg が、複数回マッチのオプションなのでは?
0827デフォルトの名無しさん
垢版 |
2023/11/28(火) 07:55:53.20ID:n24A5w3b
gが複数回オプション
0829デフォルトの名無しさん
垢版 |
2023/11/28(火) 12:30:37.56ID:vIU65Zk5
複数回マッチはそれはそうなんだけど、
.*で全部にマッチするのだから一回しかマッチしないはずでしょう?
0832デフォルトの名無しさん
垢版 |
2024/02/13(火) 13:45:23.58ID:INZlTde8
>>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
を見るべきだね
レスを投稿する


ニューススポーツなんでも実況