
Perl 5��OO�ϡ�����Ƥ��ޤ��ȴ�ñ����
�Ѿ��Ȥ��ͤ����ˡ����̤˥��饹���ꤿ����С�ɬ�פʤΤϰʲ�����Ԥ�����
package Klass; sub new { bless {} };
��������Ǥϲ���Ǥ��ʤ��Τǡ��Ȥꤢ����name�Ȥ����������������ɲä��Ƥߤ롣���������
sub name { my $self = shift; $self->{name} = shift if @_; return $self->{name}; }
����������η������ȡ��Ѿ��򥵥ݡ��Ȥ��Ƥ��ʤ��������顢
package Klass; sub new { bless {} }; package Klass::Sub; our @ISA = qw/Klass/; # new �ϷѾ� sub name { my $self = shift; $self->{name} = shift if @_; return $self->{name}; } package main; my $o = Klass::Sub->new(); $o->name("foo"); warn $o->name
�Ȥ��Ƥ⡢Can't locate object method "name" via package "Klass"
���ܤ��Ƥ��ޤ���
�Ѿ��򥵥ݡ��Ȥ���ˤϡ�bless()
�ˤ⤦��İ������Ϥ���
package Klass; sub new { my $class = shift; bless {}, $class; }
������������ϥ��饹��̾����Klass::Sub->new
���ƤФ��ȡ��ޤ�Klass::Sub::new()
���ƤФ�뤬�������¸�ߤ��ʤ��Τǡ������ѡ����饹��Klass::new()
���ƤФ�롣���������λ����������ϡ������'Klass::Sub'
�Τޤޤ����椨��bless {}, 'Klass::Sub'
���¹Ԥ��졢�����ѡ����饹��new()
�ǡ����֥��饹�Υ��֥������Ȥ����������������롣
�����������ˤ�Class->new
�ǤϤʤ���$object->new()
�Ǵ�¸�Υ��֥������Ȥ������������Ȥ��⤢�롣�¤�Perl Best Pracitecs�ˤ�Damian Conway��$object->new()
�����Ƥ��뤬�������Ǥ�DCONWAY�����Τ��꤬�����������ؤ��ơ�������ξ���Ǥ���褦�ˤ��Ƥߤ롣
sub new { my $thing = shift; my $class = ref $thing || $thing; ��bless {}, $class; }
����ǡ�$object
��Ʊ�����饹�Υ��֥������Ȥ���new()
�����褿��
���������ɤ����ʤ���������ˤ�ꤿ�����ɤ�����Ф褤������������Ф褤��
sub new { my $thing = shift; my $class = ref $thing || $thing; ��bless { @_ }, $class; }
����ǡ�Klass->new( name => 'foobar' )
�ǽ������Ԥ��롣
���������ǥե�����ͤ������������Фɤ�����Ф褤������������Ф褤��
my %default = (name => 'anonymous'); sub new { my $thing = shift; my $class = ref $thing || $thing; ��bless { %default, @_ }, $class; }
���������׵�Ϥ����³������������Ƥ��顢����˥����ѥ��饹�ν�����롼�����ƤӤ������ɤ�����Ф褤������������Ф褤��
package Klass; sub new { my $thing = shift; my $class = ref $thing || $thing; my $self = bless { @_ } => $class; $self->init() if $self->can('init'); $self; } our %default = (name => 'anonymous'); sub init { my $self = shift; $self->{$_} = $default{$_} for keys %default; $self; } package Klass::Sub; our @ISA = qw/Klass/; our %default = ('̾��' => '�ʤʤ�'); sub init { my $self = shift; $self->{$_} = $default{$_} for keys %default; $self->SUPER::init(); }
new�ϥ١������饹�Τ����Ȥ��󤷡�init�ϷѾ�����������̤�Ȥ����櫓�Ǥ��롣;p>
�������������ޤǤ���С������������Ϥʤ�ʤ�����������
package Klass; sub new { my $thing = shift; my $class = ref $thing || $thing; my $self = bless { @_ } => $class; $self->init() if $self->can('init'); $self; } our %default = (name => 'anonymous'); sub init { my $self = shift; $self->{$_} = $default{$_} for keys %default; $self->SUPER::init() if $self->can('SUPER::init'); $self; } package Klass::Sub; our @ISA = qw/Klass/; our %default = ('̾��' => '�ʤʤ�'); *init = \&Klass::init;
��äƤߤ�Ф狼�뤬������Ϥ��ޤ��Ԥ��ʤ���������&Klass::Sub::init
���ȼ���¸�ߤǤϤʤ�&Klass::init
��ñ�ʤ���̾������������ξ�硢�ǽ�˿ƥ��饹��&Klass::init
���ƤФ줿�Τ�Ʊ�����Ȥˤʤ롣����ϡ�init()
������ͤ����������������
�¤Ϥ����ޤǤ������ꡣ�������餬���򤯤ʤ�Τ�������Entry�ؾ��롣���դ�ʤΤ������ճ��ȻȤ��������ä��Τ��̵����ˤ��Ƥߤ����衣
Dan the Fiftiesh Thirty Something
���ɡ�PHP5�ǽñ¤¤¤Æ¤ï¿½ï¿½ï¿½È¡ï¿½ï¿½ï¿½my���Ȥ��������ס�next unless... �Ƚñ¤¤ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½×¡ï¿½map���Ȥ������פä��ߵ������ˤʤ�ޤ��͡�Perl6�˴��Ԥ��Ƥ��ޤ��������ޤǺ������������ɤΰܿ���ͤ���Ȱन�ޤ��͡�
�Ȥ����ǡ�Perl�Ǥϥѥå��������ѿ��������ȥѥå������ѿ��ʥ��饹�ѿ��ˤˤʤ�ޤ�����PHP���ȥ��С��ѿ��ʥ��ȥ�ӥ塼�ȡ����󥹥����ѿ��ˤˤʤ�ޤ��������դ��ޤ��褯�狼�äƤ��ʤ��Ǥ���