Perlについて

2008/08/04(月) 20:58:41
質問スレはあるけど、Perl自身について語るスレがないので、立てました。
2011/10/01(土) 13:51:46.59
> 一番最初のコメントの「排除したいもの」って、何なの?

今となっては古いものを、古いものだと示さないで広める行為。
2011/10/01(土) 14:03:10.30
その方法が解決策として優れている場合でも、か?
2011/10/01(土) 14:17:54.85
>>392
当然。解決策として優れているとしても、
古いやり方と示されていないと悪でしか無い。

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

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

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


害サイト

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


正しいサイト

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

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

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

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

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

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

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

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

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

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

さあ、一緒に乾杯しましょう!
2011/10/01(土) 15:54:20.75
必死すぎww
2011/10/01(土) 17:09:53.45
モダンPerlに一応、区切りがついた。
追われることがなくなったので、ちょっとほっとしている。
2011/10/01(土) 17:21:27.80
これからは関西風ってことか...

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

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

なんだか食べづらそうだなあ。
2011/10/01(土) 18:32:37.11
モダンって「現在の」って意味だって知ってるか?

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

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

良いものは良いで使うけど、モダン廚と同じに見られるのが
非常に気にくわない。
2011/10/01(土) 20:18:01.53
きっと実体がないからだと思います。

決算報告を誤魔化して、赤字なのに「儲かってる」と、嘘を
ついているようなことを連想してしまうからじゃないでしょ
うか?
2011/10/01(土) 20:25:25.20
>>403
正確には「近代的」。
2011/10/01(土) 20:32:15.10
電気通信大学は確かにモダンだけど、オレはあんま押し付けられた
記憶はないなあ。

>>407
健康と命は大事だぞ ^_^)
2011/10/01(土) 23:33:57.48
モダンブラウザも否定するのかな?
2011/10/01(土) 23:37:58.52
否定も何もモダンブラウザという用語を知らない。
勉強不足ですまないけど、ここPerlスレなんでかんべんな。
2011/10/01(土) 23:40:34.42
多分知らないから否定してるんだろうな。
2011/10/01(土) 23:41:46.30
そんなことはない。知らないんで、否定のしようがない。
あ、モダンブラウザの件ね。
2011/10/01(土) 23:43:39.91
本当は知らないんだから否定しようがないはずだが、
なぜかモダンPerlだと知らないものを否定している。
2011/10/01(土) 23:45:11.71
もうモダンPerlの話はどうでもいいから、それらを構成している(という)
個々の技術の話をして欲しいよ。
2011/10/01(土) 23:48:35.65
そうすると、粉飾だから実体は何もないんだよなあ。
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

こんなところかな。
2011/10/02(日) 00:01:38.49
実態は何も無いといったのに出すな馬鹿。
2011/10/02(日) 00:02:16.56
日付が変わった。
これからモダンを名乗るのは粉飾決定、な。
2011/10/02(日) 00:20:02.17
一方的に押し付けられてもなーw
お前に従う理由なんて無いし。
2011/10/02(日) 00:23:08.06
日付は日本だと和暦を処理する必要があるからなぁ。
ドキュメントを読んだ範囲でTime::Pieceのことは知ってるけど、
書かれてないことで良さがあるなら、教えて欲しい。
2011/10/02(日) 00:30:59.96
電気大学があんま押し付け、な。

>>410
ありがd
2011/10/02(日) 00:37:54.91
Moose持ち上げてる奴も恥かしくないかね?
Mooseの遅さをきちんと把握してれば、Mouseを勧める様な事はあっても、
Mooseを勧める事なんざしないと思うんだが。

そもそもカプセル化すら出来ないMoose系を使う気にもならんが。
(MooseX::InsideOut使えって?あんな重くてカプセル化不十分なもんを?w)
425407
垢版 |
2011/10/02(日) 00:39:08.33
>>423
てめーだれだ?
2011/10/02(日) 00:48:32.83
>>424
Mooseの遅さってちゃんとベンチマークしたのか?
2011/10/02(日) 00:48:53.80
> そもそもカプセル化すら出来ないMoose系を使う気にもならんが

Perlはそもそもカプセル化できない言語なんだが・・・
2011/10/02(日) 00:50:03.20
EncodeとDBI以外はなくともなんとかなる。
2011/10/02(日) 00:51:02.85
飛行機はなくともアメリカにいける
2011/10/02(日) 00:51:57.05
それは無理だろ、そういうことを言ってるんじゃない。
2011/10/02(日) 00:53:35.48
船の遅さを知っていれば、船を勧めるなんてことはしないのだが。


一つのことしか考えられない馬鹿
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 ) },
});
2011/10/02(日) 00:55:24.36
技術論をしたいので、ドキュメントに書かれていない良さ
を売り込んで欲しい。
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% --
2011/10/02(日) 01:01:31.77
418の反論/反応きぼんぬ
2011/10/02(日) 01:08:16.94
反応も何も、速さと開発効率、両方の面から考えろ
速い方法が必ずしも最善ではないことは
この業界の常識だろとしかw
2011/10/02(日) 01:10:26.54
あと、ひとりよがりの略しかたはやめろ。
コードの見やすさを全く考えていない、
他人が読むことを全く考えてない
素人にしか見えんぞ。
2011/10/02(日) 01:16:58.14
モダン派が何を言いたいのかはっきりしなかったけど418を
見て思ったのは、

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

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

それならそろそろ第4版が出るから、モダン派もそうでない派も
足並みが揃うんじゃないか?
2011/10/02(日) 01:17:58.54
普通にMouse使えばいいじゃん、
開発効率、Mooseと同じで速いんでしょ?
2011/10/02(日) 01:20:16.62
>>437
すまんね、公開するつもりのなかった個人の導入検討メモだ。
2011/10/02(日) 01:21:10.10
>>432
おい、Moose素人か?
おまじないをしてないだろ。
遅いのは当然だ。

ちゃんと調べてこい。
2011/10/02(日) 01:21:55.41
Mooseでおまじないしてないと10倍の差が出るからなー
2011/10/02(日) 01:23:51.94
必ず __PACKAGE__->meta->make_immutable; を書く。
書かないとか駄目。絶対。
444424
垢版 |
2011/10/02(日) 01:26:39.15
「おまじない」の存在は知らなかった(恥)
Mouseより速くなるの?
2011/10/02(日) 01:28:15.29
試してみそ。
2011/10/02(日) 01:37:41.25
おまじないしても、良くてもMouseの十分の一くらいの速度だ

2011/10/02(日) 01:40:12.26
あらためて、MouseじゃなくてMooseを薦める理由は?
2011/10/02(日) 01:40:15.79
> __PACKAGE__->meta->make_immutable;
なんかやけに泥くさいな。こんなやぼったいマジナイがいちいち必要なのか、モダーンなPerlってやつは。
2011/10/02(日) 01:41:46.32
>>448
それによって、もっとめんどくさい
new実装とかのおまじないがなくせるからなw
2011/10/02(日) 01:43:29.15
それにLarryは今、ブレスしてないんだし...
2011/10/02(日) 01:55:34.23
例えばJcode2.xは内部でEncodeを使っている訳だけど、使うと
418は反対するの?Encodeよりも後にできたのは、便利で必要
だからだと思うんだけどな。
2011/10/02(日) 02:07:18.46
>>451
Perl 5.8.0 より、Jcodeの全機能は Encode module を通じて
Perlに標準装備となります。Jcodeのメンテナンスは旧Perlのために
今後も続けていく所存ですが、最新のPerlをお使いの方には、
より高機能、高 性能、そしてなんといっても標準装備の Encode の方をお薦めします
2011/10/02(日) 02:13:04.12
でも便利なんだよね、Jcode。Encodeにはない良さがある。
それに内部ではお勧めのEncodeを使っているわけだし。
それともJcode相当のコードをアプリケーション内に自分で
書くのはOKってこと?
2011/10/02(日) 02:16:38.97
いや、作者がEncodeの方をお勧めしますって言ってるからw
2011/10/02(日) 02:17:40.70
それはJcode2.xがまだなかった頃の話なんじゃね?
2011/10/02(日) 02:23:58.35
それにEncodeが日本語以外にも対応できるのは分かるけど、アプリ
を書くオレ自身が日本語しか対応していないわけで ^_^;
自分の読めない言語で、うっかり f*ck you みたいな出力をして
しまったら嫌だしなあ。
2011/10/02(日) 02:29:15.09
モダン派も避けるPerl5.14www
2011/10/02(日) 02:39:17.38
実態としては、

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

こんなところかな。
2011/10/02(日) 02:54:22.73
テンプレートエンジン・・・format
だろ
2011/10/02(日) 03:26:16.98
>>455
読める?

> Jcodeのメンテナンスは旧Perlのために
> 今後も続けていく所存ですが、最新のPerlをお使いの方には、
> より高機能、高 性能、そしてなんといっても標準装備の Encode の方をお薦めします
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 ) },
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% --
2011/10/02(日) 14:57:55.49
読めてるつもりだけど、Jcodeのおかげで食べているひとは
(数えたことないが)たくさんいるように思うし、感謝を
省くわけにはいかないな。技術論と離れてしまったがな。
2011/10/02(日) 15:09:11.99
Jcodeの【全機能】は Encode module を通じて...
      ↑ここうそだよね!
2011/10/02(日) 15:32:09.77
>>464
そのように書いてあるのだからウソじゃない。
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% --
2011/10/02(日) 15:44:01.45
単なるバカか
2011/10/02(日) 15:52:18.02
重箱の隅を突くのみっともねえ。
2011/10/02(日) 15:57:21.82
>>437のレスが何の意味だったが、さっぱりだったんだが、
サブルーチン名に噛み付いてたのか
少くとも434では、説明文まで付いてるのに。
単なる文盲じゃんw
2011/10/02(日) 16:03:46.12
>>465
書いてあるのはおれも知ってるけど、書かれている内容が
うそだってこと。全機能がサポートされてるのならJcode2.x
は作られなかっただろ。
2011/10/02(日) 16:06:33.96
個別に見ていくと粉飾がありありと浮かび上がってくるなw
2011/10/02(日) 16:20:16.26
>>418
日付まわりとデータベースはモジュールが2つずつ書いてあるが
どう使い分けるといいの?
2011/10/02(日) 16:24:33.41
>>429
アメリカ大使館か?
474461
垢版 |
2011/10/02(日) 16:37:30.45
レス不要っつったのに。
>>466
御自分でベンチ取った事無いでしょう?
どれだけ表が見辛くなるか、確認して下さい。
ttp://www1.axfc.net/uploader/File/so/69883.txt
何の為に、短めのサブルーチン名にしてるか分ると思います。

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

意味がわからん。
単にJcodeから乗り換えられない可哀想な人のためって
書いてあるだろ。
2011/10/02(日) 17:36:43.28
>>474
CSVで吐き出せばいいだけ。
Excelで見やすくなる。
2011/10/02(日) 17:37:18.27
あと、お前の命令に従うつもりはさらさらないw

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

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

ってExcelって時点で釣り確定だろうけどさ。
2011/10/02(日) 17:57:22.02
レスするなっていっただろw
2011/10/02(日) 18:03:34.27
モダン廚は>>447に答えろ。

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

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


ってか、速度が早いことが
最善とは限らないってのは、
この業界の常識だろ。
2011/10/02(日) 18:08:20.79
MooseX +immutable なんか
100倍になってるよね。
2011/10/02(日) 18:10:09.58
かけ算も出来ないのか…
2011/10/02(日) 18:11:21.73
俺の方だった。
2011/10/02(日) 18:18:03.75
表の見方すら分かって無いとか
2011/10/02(日) 18:29:20.71
速度の差を百分率で表示します
( (63226 - 8935) / 8935 )
100倍??
2011/10/02(日) 20:47:39.47
disってるつもりじゃなくてな、どうしてEncodeはJcodeのインタ
フェースをそのまま使わなかったのか素朴な疑問なんだよ。
2011/10/02(日) 20:55:37.04
思いついたままいうと、Jcode3.0とかでJcode0.xの機能もJcode2.x
の機能もEncodeの機能も実現できそうな気がするし、モダン派と
そうでない派の論争も(この件については)終結するんじゃないかと
思うんだ。
2011/10/02(日) 20:59:47.99
上位互換性があると過去のバージョンとの差別化が難しいから、
キャッチコピーが使えなくなってしまうので困るってことなの
かい?
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の使い方に適合していない。
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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