「続・初めてのPerl」で説明されていることのメモ
2006-05-09-1
[BookReview][Programming]
「続・初めてのPerl」のどこで何が説明されているかの自分用メモ。
■続・初めてのPerl - Perlオブジェクト、リファレンス、モジュール

追記:修正メモ。
■続・初めてのPerl - Perlオブジェクト、リファレンス、モジュール

§2. 大規模なプログラムの作成
do → require → package
perl -V
perl -I/home/yto/...
§3. リファレンスの基礎
\@skipper
@{$items} _ @$items
$$items[1] _ $$items->[1]
$root->[2]->[1]->[0] _ $root->[2][1][0]
\%hash
$crew[0]->{'name'} _ $crew[0]{'name'}
@hash{qw(name position)}
@$hash_ref{qw(name position)} ハッシュスライス
§4. リファレンスとスコープ
リファレンスカウント
$reference_to_skipper = undef;
($ref->[-1])
my $array_ref = [ qw(a b c d e) ];
my $hash_ref = {a=>1, b=>2, c=>3};
§5. 複雑なデータ構造の操作
perl -d ("s", "x \%hash")
Data::Dumper
$Data::Dumper::Purity = 1;
Storable
grep
map
map %hash = map {$_, 3 * $_} @input_numbers;
§6. サブルーチンのリファレンス
my $ref_to_greeter = \&skipper_greets;
&{$ref_to_greeter}("Gilligan")
&$ref_to_greeter("Gilligan")
$ref_to_greeter->("Gilligan")
$sub_ref = sub { ... }
File::Find でコールバック、クロージャの説明
sub create {my $count; return sub {print ++$count}}
{my $count; sub count_one {++$count}} count_one();
§7. リファレンスの実用的な使用方法
sort {$a <=> $b} @array
シュワルツ変換(Schwartzian Transform)
再帰的に定義されたデータ
§8. オブジェクトの基礎
Class->method(@args) _ Class::method("Class", @args)
@ISA
SUPER
§9. オブジェクトとデータ
(あとで)
§10. オブジェクトの破棄
(あとで)
§11. オブジェクトの高度な使用方法
(あとで)
§12. モジュールの使用方法
File::Basename
use File::Basename (); my $base = File::Basename::basename($path);
File::Spac
Math::BigInt
use lib "/home/yto/lib";
Exporter
@EXPORT, @EXPORT_OK
use CGI qw(param); my $f = param("foo");
§13. ディストリビューションの作成
h2xs -XAn Island::Plotting::Maps
§14. テスト
リグレッションテスト
Test::Harness
Test::Simple
Test::More
ok, cmp_ok, like, isa_ok, can_ok, TODO: { }
§15. CPANへの登録
Comprehensive Perl Archive Network
PAUSE (Perl Authors Upload Server) ID
追記:修正メモ。
$hash_ref{qw(name position)} → @$hash_ref{qw(name position)}
