SlideShare a Scribd company logo
Submit Search
Upload
Login
Signup
about Perl5.10
Report
Kazuki KOMORI
Follow
Programmer at Mixi, Inc.
Jun. 2, 2008
•
0 likes
•
1,136 views
1
of
69
about Perl5.10
Jun. 2, 2008
•
0 likes
•
1,136 views
Download Now
Download to read offline
Report
Technology
Kansai.pm Meeting #9
Kazuki KOMORI
Follow
Programmer at Mixi, Inc.
Recommended
CPANの依存モジュールをもう少し正しく検出したい
charsbar
3.3K views
•
90 slides
2017年夏のPerl
charsbar
6.4K views
•
60 slides
2017年春のPerl
charsbar
10K views
•
72 slides
CMSとPerlで遊ぼう
Daiki Ichinose
1.9K views
•
17 slides
Shelly
fukamachi
4.7K views
•
31 slides
How to debug a perl script using gdb
akirahiguchi
2.9K views
•
28 slides
More Related Content
What's hot
MoteMote Compiler Plugin
yoshiaki iwanaga
1.2K views
•
43 slides
Perlと出会い、Perlを作る
goccy
3.1K views
•
24 slides
モダンmod_perl入門 #yapcasia
鉄次 尾形
8.2K views
•
97 slides
OrePAN と cpanm を使ったCPAN モジュールの部分ミラーの運用管理 :Yokohama.pm #8
Satoshi Ohkubo
4.1K views
•
27 slides
OpenJDK HotSpot C1Compiler Overview
nothingcosmos
3K views
•
37 slides
php7's ast
do_aki
9.1K views
•
27 slides
What's hot
(20)
MoteMote Compiler Plugin
yoshiaki iwanaga
•
1.2K views
Perlと出会い、Perlを作る
goccy
•
3.1K views
モダンmod_perl入門 #yapcasia
鉄次 尾形
•
8.2K views
OrePAN と cpanm を使ったCPAN モジュールの部分ミラーの運用管理 :Yokohama.pm #8
Satoshi Ohkubo
•
4.1K views
OpenJDK HotSpot C1Compiler Overview
nothingcosmos
•
3K views
php7's ast
do_aki
•
9.1K views
20131208 agile samuraibasecamp
Hiroshi SHIBATA
•
544 views
Redis & Redis HA design with Keepalived
Toshiki Inami
•
2.7K views
PHP と SAPI と ZendEngine3 と
do_aki
•
16K views
なぜリアクティブは重要か #ScalaMatsuri
Yuta Okamoto
•
7.9K views
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)
inaz2
•
6.8K views
OPcache の最適化器の今
y-uti
•
10.2K views
Apacheの展望とmod_perlの超絶技巧 #yapcasia
鉄次 尾形
•
6.9K views
08
Hash29
•
136 views
PHPとシグナル、その裏側
do_aki
•
9.5K views
PHP AST 徹底解説
do_aki
•
26.1K views
マニアックツール紹介、マネジメントのKnife-Zero(Chef)とテストスイートInSpec
Yukihiko SAWANOBORI
•
4.8K views
Miyazaki.js vol.1 スコープの話
Nobuhiro Nakashima
•
821 views
Lisp Tutorial for Pythonista : Day 4
Ransui Iso
•
5.3K views
クロージャー
1000 VICKY
•
858 views
Viewers also liked
Kansai.pm#15 Perl Ocean
Kazuki KOMORI
1.2K views
•
53 slides
Strawberry Perlのススメ@Kansai.pm#11
Kazuki KOMORI
1.2K views
•
10 slides
Perl5環境構築 Kansaipm#13
Kazuki KOMORI
1.3K views
•
126 slides
Kansai.pmと僕 - Kansaipm#14
Kazuki KOMORI
1.1K views
•
44 slides
PHPerのためのPerl入門@ Kansai.pm#12
Kazuki KOMORI
1.2K views
•
121 slides
Codificação lossy do JPEG
Stanislaw Pusep
777 views
•
25 slides
Viewers also liked
(9)
Kansai.pm#15 Perl Ocean
Kazuki KOMORI
•
1.2K views
Strawberry Perlのススメ@Kansai.pm#11
Kazuki KOMORI
•
1.2K views
Perl5環境構築 Kansaipm#13
Kazuki KOMORI
•
1.3K views
Kansai.pmと僕 - Kansaipm#14
Kazuki KOMORI
•
1.1K views
PHPerのためのPerl入門@ Kansai.pm#12
Kazuki KOMORI
•
1.2K views
Codificação lossy do JPEG
Stanislaw Pusep
•
777 views
LWP + libcurl
Stanislaw Pusep
•
6K views
ExtJS
Kazuki KOMORI
•
1.1K views
Perl Ocean
Kazuki KOMORI
•
1.7K views
Similar to about Perl5.10
Yomitanpm 6
Kei Kamikawa
498 views
•
36 slides
恋に落ちるデプロイツール
totty jp
5.1K views
•
49 slides
20年越しで Perl 4 to 5 した話
outerinside
5.8K views
•
28 slides
20130228 Goノススメ(BPStudy #66)
Yoshifumi Yamaguchi
11.6K views
•
58 slides
Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016
Nagato Kasaki
16.6K views
•
103 slides
130207 kyotorb
Yuki Shibazaki
3.2K views
•
49 slides
Similar to about Perl5.10
(20)
Yomitanpm 6
Kei Kamikawa
•
498 views
恋に落ちるデプロイツール
totty jp
•
5.1K views
20年越しで Perl 4 to 5 した話
outerinside
•
5.8K views
20130228 Goノススメ(BPStudy #66)
Yoshifumi Yamaguchi
•
11.6K views
Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016
Nagato Kasaki
•
16.6K views
130207 kyotorb
Yuki Shibazaki
•
3.2K views
Weeklycms20120218
Yoshi Sakai
•
408 views
Kink: invokedynamic on a prototype-based language
Taku Miyakawa
•
1.8K views
fluentd を利用した大規模ウェブサービスのロギング
Yuichi Tateno
•
27.2K views
実"戦"CakePHP Plugin
Kenichirou Oyama
•
4.6K views
EC-CUBE + PHPUnit で 実践テスト駆動開発
Kentaro Ohkouchi
•
4.4K views
Capistrano in practice - WebCareer
Kyosuke MOROHASHI
•
2.2K views
Lisp Tutorial for Pythonista Day 6
Ransui Iso
•
1.7K views
Cookpad 17 day Tech internship 2017 言語処理系入門 Rubyをコンパイルしよう
Koichi Sasada
•
15.4K views
ホームディレクトリに埋もれた便利なコードをさがせ!
Yohei Fushii
•
27.6K views
Php in ruby
do_aki
•
2.8K views
シェル芸初心者によるシェル芸入門 (修正版)
icchy
•
5.8K views
PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12
Ryuji Yamashita
•
7.6K views
#glassfishjp GlassFishとProfiler
Yuji Kubota
•
1.6K views
Clojureの発表など
Kikuta Go
•
1.6K views
Recently uploaded
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
NTT DATA Technology & Innovation
24 views
•
21 slides
20230921_IoTLT_vol103_kitazaki_v1.pdf
Ayachika Kitazaki
73 views
•
16 slides
gtk4_gem_usage.pdf
ssuser0ef4681
11 views
•
6 slides
松下研究室紹介_関西大学高槻キャンパスオープンキャンパス
Matsushita Laboratory
25 views
•
23 slides
CCoE実践者コミュニティ#1_CCoEが進めるセキュリティカイゼンの旅.pptx
Tomoaki Tada
23 views
•
20 slides
20230912JSSST大会基調講演_丸山.pdf
Hiroshi Maruyama
163 views
•
58 slides
Recently uploaded
(9)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
NTT DATA Technology & Innovation
•
24 views
20230921_IoTLT_vol103_kitazaki_v1.pdf
Ayachika Kitazaki
•
73 views
gtk4_gem_usage.pdf
ssuser0ef4681
•
11 views
松下研究室紹介_関西大学高槻キャンパスオープンキャンパス
Matsushita Laboratory
•
25 views
CCoE実践者コミュニティ#1_CCoEが進めるセキュリティカイゼンの旅.pptx
Tomoaki Tada
•
23 views
20230912JSSST大会基調講演_丸山.pdf
Hiroshi Maruyama
•
163 views
テスト自動化.pdf
ssuserf8ea02
•
16 views
IGDA Japan SIG Audio #20-1 室内・野外でのマイク収録と整音.pdf
IGDA Japan SIG-Audio
•
94 views
遠隔お酌IoTLT2309.pptx
Yoshiaki Ito
•
49 views
about Perl5.10
1.
about Perl5.10
id:lapis25 lapis25@gmail.com Kansai.pm Meeting #9/20080531 1
2.
Perlの歴史 • 1987 1.0 •
1988 2.0 • 1989 3.0 • 1991 4.0 • 1994 5.0 2 2
3.
Perl5の歴史 • 1994 5.0 •
(略 • 2000 5.6 • 2002 5.8 • 2007 5.10 3 3
4.
Perl5.10.0 • 2007/12/18 リリース
4 4
5.
今日の内容 • Perl5.10 • 後方互換性 •
追加された機能 • ……の一部紹介(全部はムリ) 5 5
6.
すべてを知りたいなら • perldoc perl5100delta •
和訳 • http://fleur.hio.jp/perldoc/mix/pod/ perl5100delta.mix.html 6 6
7.
活字で読みたい • Recent Perl
World#12 / ITO Naoya WEB+DB PRESS Vol.43 7 7
8.
今日の結論 • リリースからもうすぐ半年 • 5.10コワクナイヨ •
もっと使っていきましょう 8 8
9.
9
9
10.
後方互換性 10
10
11.
後方互換性 • Perlのいままでのバージョンと同様に 極力後方互換性を維持している
11 11
12.
互換のない修正 • pack()/unpack()で
utf-8エンコードされた文字列の処理変更 • 疑似ハッシュの廃止 • warningsプラグマが Carpをロードしなくなった • etc... 12 12
13.
追加された機能
13 13
14.
featureプラグマ
14 14
15.
featureプラグマ • 後方互換性のない新しい構文を有効にするた めのプラグマ •
レキシカルスコープ 15 15
16.
featureプラグマ • say • switch •
state 16 16
17.
featureプラグマ use feature ’say’;
17 17
18.
featureプラグマ use feature qw(say
switch state); 18 18
19.
featureプラグマ • すべての機能が有効になる use
feature qw(:5.10); 19 19
20.
featureプラグマ • featureプラグマが暗黙的にロードされる use
5.10; 20 20
21.
featureプラグマ use feature qw(say
switch state); use feature qw(:5.10); use 5.10; 21 21
22.
新しい コマンドラインスイッチ
22 22
23.
one-liner • one-liner用コマンドラインスイッチ • いままでも
-e があるよね? 23 23
24.
-eスイッチ % perl -e
'print "hello, world!n"' 24 24
25.
-Eスイッチ % perl -E
'say "hallo, perl5.10!"' 25 25
26.
-Eスイッチ • one-liner用のコマンドラインスイッチ • perl5.10の機能を有効にして実行
26 26
27.
27
28.
say 28
28
29.
Say • 改行付きprint
29 29
30.
Print print "Hello, world!n"
30 30
31.
Say say 'Hello, world!'
31 31
32.
Print print "$_n" for
@lines; 32 32
33.
Say say for @lines;
33 33
34.
switch 34
34
35.
switch • Perlにもswitch文が! • ただし構文はswitch/caseではなく
given/when 35 35
36.
given/when use feature 'switch'; given
($foo) { when (/^abc/) { $abc = 1; } when (/^def/) { $def = 1; } when (/^xyz/) { $xyz = 1; } default { $not = 1; } } 36 36
37.
for/when use feature 'switch'; for
(@foo) { when (/^abc/) { $abc = 1; } when (/^def/) { $def = 1; } when (/^xyz/) { $xyz = 1; } default { $not = 1; } } 37 37
38.
smart match
38 38
39.
~~ 39
39
40.
smart match • 比較対象によって比較の方法が変わる •
whenでもスマートマッチが行われる • 単独で使う場合は • 詳しくはperldoc perlsynで 40 40
41.
state 41
41
42.
state変数 • my local
ourに続く変数宣言 state • 変数宣言時に一度だけ初期化される変数 • スコープはブロックの範囲内 42 42
43.
クロージャ
• クロージャを使って書いていた処理を { my $i = 0; sub func { $i++ } } 43 43
44.
state変数 • すっきりかける use
feature 'state'; sub func { state $i = 0; $i++; } 44 44
45.
45
46.
// 46
46
47.
dor 47
47
48.
Defined-or
48 48
49.
Defined-or • こう書いていたのが defined $a
? $a : $b 49 49
50.
Defined-or • こう書けます $a //
$b 50 50
51.
//の優先度 • ¦¦ とまったくいっしょ •
低優先度版のerr演算子はなくなりました 51 51
52.
named capture
52 52
53.
named capture • 正規表現で名前付きでキャプチャできる •
構文は(?<NAME>) • k<NAME> で後方参照可能 • キャプチャした内容には%+ハッシュでアクセ ス可能 53 53
54.
named capture s/(?<letter>.)k<letter>/$+{letter}/g
54 54
55.
ファイルテスト演算子
55 55
56.
ファイルテスト演算子 -x $file &&
-w _ && -f _ 56 56
57.
ファイルテスト演算子 • まとめて書けるように -f -w
-x $file 57 57
58.
……他にも いろいろあります
58 58
59.
• 宣言することで$_をレキシカルに • mroプラグマ •
UNIVERSAL::DOES() • no VERSIONで指定したバージョンより古い Perlを使いたいことを表現 • %^H でレキシカルプラグマを実装可能に 59 59
60.
新しいコアモジュール
60 60
61.
•
encoding::warnings • Locale::Maketext::Simple • Module::CoreList • Params::Check • Math::BigInt::FastCalc • Term::UI • Compress::Zlib • Object::Accessor • IO::Zlib • Module::Pluggable • Archive::Tar • Module::Load::Conditiona • Digest::SHA • Time::Piece • ExtUtils::CBuilder • IPC::Cmd • ExtUtils::ParseXS • File::Fetch • Hash::Util::FieldHash • Log::Message • Module::Build • Log::Message::Simple • Module::Load • Archive::Extract • Module::Loaded • CPANPLUS • Package::Constants • Pod::Escapes • Win32API::File 61 • Pod::Simple 61
62.
Perl5.10を使うには
62 62
63.
Perl5.10を使うには • fedora9は5.10 • debian(sid)は5.10になったようです •
MacPortsにもperl5.10あります • ActivePerlも5.10 • いっそソースからインストール 63 63
64.
まとめ 64
64
65.
Perl5.10は ふつうに使えそう
65 65
66.
早速インストール!
66 66
67.
ご静聴ありがとう ございました
67 67
68.
questions?
68 68
69.
参考資料 •
perl5100delta http://fleur.hio.jp/perldoc/perl/5.10.0/pod/ perl5100delta.mix.html • What's new in Perl 5.10? http://www.slideshare.net/acme/whats-new-in-perl-510 • Recent Perl World#12 / ITO Naoya WEB+DB PRESS Vol.43 69 69