狠狠撸
Submit Search
about Perl5.10
?
0 likes
?
1,139 views
Kazuki KOMORI
Follow
Kansai.pm Meeting #9
Read less
Read more
1 of 69
Download now
Download to read offline
More Related Content
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://?eur.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.
蹿别补迟耻谤别プラグマ
14 14
15.
蹿别补迟耻谤别プラグマ ? 後方互換性のない新しい構文を有効にするた めのプラグマ ?
レキシカルスコープ 15 15
16.
蹿别补迟耻谤别プラグマ ? say ? switch ?
state 16 16
17.
蹿别补迟耻谤别プラグマ use feature ’say’;
17 17
18.
蹿别补迟耻谤别プラグマ use feature qw(say
switch state); 18 18
19.
蹿别补迟耻谤别プラグマ ? すべての機能が有効になる use
feature qw(:5.10); 19 19
20.
蹿别补迟耻谤别プラグマ ? 蹿别补迟耻谤别プラグマが暗黙的にロードされる use
5.10; 20 20
21.
蹿别补迟耻谤别プラグマ 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.
笔别谤濒5.10を使うには
62 62
63.
笔别谤濒5.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://?eur.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
Download