perlreftut - Mark ��˨�������ŝ����<�㋘�潟�鴻�̹�≪����������⓾����㏍�������ャ�若����ŝ�≪�
Perl 5 ��˨�����������������荀���ʋ�井����純�勌����ゃ�壔��紊�罨≦����������������鴻�������� ��������激�ャ�勉�������ʃ�������ŝ����若�炊����������宴����������勉�с�������遵����с����� �������������櫝�純����������������˨��Perl 5 ��� ��ŝ����<�㋘�潟�� �����若�違�����罘���純��絨���ャ����� ��������⓾�ŝ����<�㋘�潟�鴻��篏帥����������壔��茲������ф����������������������若�帥�� Perl ��ф�宴���������� ��泣�с����� 罧�綽泣�ŝ�������˨��絖⓾�吟�˨�壔����������ʋ�������������������������������<�ゃ�潟� ��������ャ�≪�˨����若�吾�壔����í�㏍�若�������勉����c�������倶����с����� ��������ャ�≪�˨�壔�祉�弱����с�с����������������☀˛�����壚��������荀���т��������荀���с�ŝ�������� 茯㋛����������勉����c�������勉�у�馹����荀���ゃ����������������������障�����
綛檎����˨�������<�ゃ�潟����若�吾�˨�������������� 10% �����ャ����������� 90% ��勖�ð�泣�� ��������������������с����障����� �����勉����若�吾�с�壔����ŝ����˨����� 10% ������荀���������障�����
(茯違��茲���������若�炊��������綽�荀���������⓾��������?)
�����ゃ�������c����馹���勌����ゃ�������ŝ�鴻����勐�ゃ�������c����������激�ャ�勐��荀���с�с�������� Perl ��壔����<�������������激�ャ�������c�⓾����障����������������勐�ゃ� ��鴻�˨�í�с�ŝ�������違�ŝ����������ŝ�鴻�����篏帥����������壔�с����障�������с��������
��ŝ�鴻����勉�������激�ャ����ŝ��篏帥����������勉�с�����������? 膂≦����ŭ����ц�������⓾�帥�障��������: �����ŝ�����篁ヤ����勉�������ʒ�遵�������純�勐�������勉����<�ゃ�˨�������c�⓾�������������障��:
Chicago, USA
Frankfurt, Germany
Berlin, Germany
Washington, USA
Helsinki, Finland
New York, USA
��������⓾��篁ヤ����勉�������˨����純�壚��綺⓾������憗����⓾����勐�純�勰�遵�������≪�˨����<������������� �憗�������������ɱ�阪�����緇���������c����������障��:
Finland: Helsinki.
Germany: Berlin, Frankfurt.
USA: Chicago, New York, Washington.
���������茵������ɾ�吟�ʋ�号����壔����㏍�若����純�勐�������с�������������激�ャ��篏帥����������с����� ��純�勐�������壔����勐�純�勰�遵����勉�ŝ�鴻����̹�∫�d�������������障����� ��ュ�����茯㏍�������潟����純�◒�遵����������蚊�������違����ʒ�遵�������ŝ�鴻����̬申��������障����� ��ュ�����茯㏍�睡��������������絽檎�������������激�ャ����ゃ����㋘�若�������⓾����阪����勐����̹�遵���� �����ŝ�鴻�������純�若�������⓾�������障�����
��������������激�ャ�勐�ゃ����ŝ�鴻����˨�с����ŝ�������違����ŝ����勤�������с����� ��������������壔����鴻�⓾�勰�遵�����筝���ゃ�勖��絖������̹�g����������阪����������������˨����勖��絖������� ��ŝ�鴻��������茹c����⓾����������勉�ŝ�鴻�������純�若�������⓾�������勛�����������綺〠��絖������御�祉�� 綽�荀������������с����������� ��������壔����������˨�������⓾�������í�若�������∴昭��帥����������������鴻�с����� ��������激�ャ�勐�ゃ����ŝ�鴻����˨�с����������������違����馹����茹f浦��с�����絎���с�ŝ�ŝ�鴻����� �����с�� Perl ��壩����c�⓾�������勉�с����������壚��羣���������障����障�����
(茹f浦羈�)
Perl 5 ��勖��篁c�с����������с�˨����勉����吟�ゃ�潟����違�c�⓾����障�����: ��������激�ャ�勐�ゃ� ��鴻�˨�í�с�ŝ�������違�ŝ����ŝ����勉�с����� ���������茹f浦��������勉����ŝ����<�㋘�潟�鴻�с�����
��ŝ����<�㋘�潟�鴻�奝��������篏������������激�ュ��篏�(�����������壔�����篁ュ����勌�����)��� �����с����� ��鴻�˨�í�с����� ��������壔����с�˨�ŝ����帥�勖訓�����ŝ����<�㋘�潟�鴻�勌��腮勉�с����� �����⓾�勌査�����壠��篁���т����ɾ�宴�ŝ��膣域����勰�����篏���с����� ��������������劫����勌査������箴������井�������勉�潟�潟����ャ�若�帥����㏍�違�í����������с�������������� �����勉�������������勛完�����˨�ゃ����☀��菴違�����綽�荀���壔�������障�����; 綽�荀���ŝ�勉�壔��膂≦����с��箴水�í�ŝ�鴻�˨�ð��絖�������Ada Lovelace�����ŝ�勉�с�����
Perl ��˨����������ŝ����<�㋘�潟�鴻�奝����������������激�ャ�勐�������˩室��⓾����障����� ������������ Perl ��勉����í�ゃ����若����у����◐����ɱ�������ŝ�勉�ф����с�������ŝ����������� 篆�荐若�с����障����� 篋阪�������夌�違�ŝ�����筝���ゃ�勉�ŝ����<�㋘�潟�鴻�壚����ゃ�勉����勉����������с����障�������� ���������篏����筝���ゃ�勐�������с�ŝ�˨����若�с����障����� ��������激�ャ�吾�勉�ŝ����<�㋘�潟�鴻�������c�⓾�������違����������激�ュ��篏������ŝ�˨����若�с����障����� ��������������ŝ����<�㋘�潟�鴻�夌亜�����с����潟�潟����壔����ŝ�鴻�˨�ï�ゃ�ŝ�勉�с�����
�����ŝ����壠�ゃ����������с�������������激�ャ�������ゃ�������壔�с����障�����; ��������激�ャ�勐�ゃ� ��鴻�˨�í�勉�水櫝�純�с����� ��������������<�壔����������違�c�⓾����障����� ������������筝���ゃ�勉�ŝ����<�㋘�潟�鴻�奝��������篏���������с����������������с�������ŝ����<�㋘�潟�鴻� ��鴻�˨�í�ŝ�勉�с����������吾�勉�ŝ����<�㋘�潟�鴻�勉�������激�ャ�������ゃ����������с����障��; ��������⓾�������奝�������勉�������激�ャ�勉����������壔�������������������勉�������激�ャ�с����������勉������� 箴水�í�ŝ�勉�с�����
�����勰�遵�������純�勐�馹���˨�壔�ŝ����<�㋘�潟�鴻����宴����������勐江��ゃ����勖��������荀����緇��� ��祉����障�����
(���羈�)
��ŝ����<�㋘�潟�鴻��篏������˨�壚����ゃ�勖�号��������������篏帥����˨��篋���ゃ�勖�号�������������障�����
(��ŝ����<�㋘�潟�鴻��篏����)
(篏������˨�若�� 1)
������紊���違�勐����㏍�� \
�����ゃ�������違�������勐����違�吾�勉�ŝ����<�㋘�潟�鴻�� 緇���������������с����障�����
$aref = \@array; # $aref ��� @array ��吾�勉�ŝ����<�㋘�潟�鴻��篆����������
$href = \%hash; # $href ��� %hash ��吾�勉�ŝ����<�㋘�潟�鴻��篆����������
$sref = \$scalar; # $sref ��� $scalar ��吾�勉�ŝ����<�㋘�潟�鴻��篆����������
$aref ��� $href ��勉�������ɱ����違�˨�ŝ����<�㋘�潟�鴻����主�������⓾����障����違�� ��鴻�˨�ï����違�勉�������˨�潟����若����������主�������������������с����障��:
$xy = $aref; # $xy ��� @array ��吾�勉�ŝ����<�㋘�潟�鴻��篆����������
$p[3] = $href; # $p[3] ��� %hash ��吾�勉�ŝ����<�㋘�潟�鴻��篆����������
$z = $p[3]; # $z ��� %hash ��吾�勉�ŝ����<�㋘�潟�鴻��篆����������
�����������勌����壔�����������篏帥�c�☗����違�吾�勉�ŝ����<�㋘�潟�鴻��篏������号����� 箴�腓冴����������勉�с�������� ��������������⓾����������������c�⓾����ŝ�������������������激�ャ��篏������������������� ��������������������障�������� ��������壔�����絖���� "\n"
��������医�� 80 ������筝���☗�����篁����紊���違�˩��膊<����� 綽�荀���ŝ����˩戎��������������˨�������号�����篌若�⓾����障�����
[ ITEMS ]
��壩�違����ɾ�≦�����������篏������������勰�������吾�勉�ŝ����<�㋘�潟�鴻��菴������障����� { ITEMS }
��壩�違����ɾ�≦����������激�ャ��篏������������勉�������激�ャ�吾�勉�ŝ����<�㋘�潟�鴻�� 菴������障�����
$aref = [ 1, "foo", undef, 13 ];
# $aref ��奝�������吾�勉�ŝ����<�㋘�潟�鴻��篆���������⓾�����
$href = { APR => 4, AUG => 8 };
# $href ��壔�������激�ャ�吾�勉�ŝ����<�㋘�潟�鴻��篆���������⓾�����
��˨�若�� 2 ��˨����c�☗�������ŝ����<�㋘�潟�鴻�壔�˨�若�� 1 ��˨����c�☗��������腮勉� ��ŝ����<�㋘�潟�鴻����������с��:
# ���������:
$aref = [ 1, 2, 3 ];
# ���������������:
@array = (1, 2, 3);
$aref = \@array;
��������勤����夌����鋋�茵������㏍�������������勉�с��@array
���������篏������ʒ�����紊���違�� 篏������障��������
[]
�����吾�������翫����˨�壩�違����ɾÃ��勛�≦�����������緇���������障����� {}
�����吾�������翫����˨�壩�違����ɾÃ��勛�≦����������激�ャ��緇���������障�����
(��ŝ����<�㋘�潟�鴻��篏帥��)
��ŝ����<�㋘�潟�鴻��緇����緇���с��������絲障����⓾�с��������������? ��ŝ����<�㋘�潟�鴻�壔�鴻�˨�ï�ゃ�с����������鴻�˨�í�с����������勉����������主����������� ��ゃ��緇���������с��������������荀���⓾����障�������� ��ŝ����<�㋘�潟�鴻��篏帥����˨�壚����˩����ゃ�勖�号�������������障�����
(篏睡����˨�若�� 1)
��������勉�ŝ����<�㋘�潟�鴻�������������勐��������臀勉����������贋����с�˨�若�ŝ�若����㋘�若�鴻�勌賢�� 篏帥�������������с����障����� �����������違��@array
��勌撮��������� @{$aref}
��������障�����
篁ヤ����˩�������������障��:
������:
@a @{$aref} ������
reverse @a reverse @{$aref} ������������荵≪�����
$a[3] ${$aref}[3] ��������勤��膣�
$a[3] = 17; ${$aref}[3] = 17 荀�膣���勌撮��
���茵���勌����ゃ�勐����壠��������������茵������障����� 綏☗�眼�勉����勉�� @a
������������������絲障��������篏���с����� �勀�眼�勉����勉�� $aref
��˨����c�☗����с�����������������絲障��������篏���с����� ���篏�������������������荀���ゃ�������違��筝≧�鴻�勉����若�吾�с�潟�奝��������絲障����☗�������������� 茵������障�����
��������激�ャ�勉�ŝ����<�㋘�潟�鴻��篏帥����������� ��障�c����� ��������с��:
%h %{$href} ��������激�
keys %h keys %{$href} ��������激�ャ�������㏍�若��緇����
$h{'red'} ${$href}{'red'} ��������激�ャ�勤��膣�
$h{'red'} = 17 ${$href}{'red'} = 17 荀�膣���吾�勌撮��
��ŝ����<�㋘�潟�鴻��絲障����☀�������������������壔����鴻�⓾��"Use Rule 1" �� ��í�勉�������̬�����������茯㋛����������⓾����障����� ���絽吾�勰����������������激�ャ��絲障����☗��������������茵������������� Perl ��潟�若�������吾���������� �����������������激�ャ����ŝ����<�㋘�潟�� {$reference}
��х舟��������������勉�с����� ���腱���������c�⓾�������勉����ŝ����<�㋘�潟�鴻�с�����������������������絲障����⓾�˨�若����������˨��?��� ������������������絲障����⓾�˨�若����������˨�壩❶��勉����������吾����с��������
for my $element (@array) {
...
}
��������⓾����勰�������� @array
�����ŝ����<�㋘�潟�鴻�х舟�����������障��:
for my $element (@{$aref}) {
...
}
���腱���������c�⓾�������勉����ŝ����<�㋘�潟�鴻�с����������������������激�ャ�勐��絎鴻����阪����������˨��?��� ��障����壔�������˨�������激�ャ����阪����������潟�若�������吾����障��:
for my $key (keys %hash) {
print "$key => $hash{$key}\n";
}
��������⓾�������激�ャ�勐����������ŝ����<�㋘�潟�鴻�х舟�����������障��:
for my $key (keys %{$href}) {
print "$key => ${$href}{$key}\n";
}
(篏睡����˨�若�� 2)
Use Rule 1 ��壔����ŝ�����絎�������綽�荀���������������鴻�⓾�с��; ��ŝ����ŝ�������ŝ����<�㋘�潟�鴻�˨�ゃ����☗��荀������ŝ�������������鴻�⓾��茯㋛�������⓾�������������с����� �����������������������������激�ャ�˨�ゃ����☀�������������������勐ぇ��������壚����ゃ�勤��膣���� ��������冴����������с��Use Rule 1 ��勤��羈���壩�宴����˨����������勉�с����� �����勉����������ヨ��羈������������障�����
${$aref}[3]
��虁˛��帥�ャ�������勉�с��篁c�������� $aref->[3]
�����吾����������� ��с����障�����
${$href}{red}
��虁˛��帥�ャ�������勉�с��篁c�������� $href->{red}
�� ��吾�������������с����障�����
$aref
�����������吾�勉�ŝ����<�㋘�潟�鴻��篆���������⓾��������������$aref->[3]
�� �����勰�������勐����ɾ�勉�勤��膣���с����� ��������� $aref[3]
���羞桁�������ŝ����с�����������; 緇������� @aref
��������� ��������勉�ゃ�������������勐����ɾ�勉�勤��膣���с����� $aref
��� @aref
��壔��$item
��� @item
�����������с������������� ��♂�≫����ŝ����勉�с�����
���罕���˨��$href->{'red'}
��壔�鴻�˨�ï����� $href
��˨����c�☗����с�������� ��������激��(��������������壠�������勉�ŝ��������)��勌����������с����� $href{'red'}
��� %href
�����������������勉�ゃ�������������激�ャ�勌�������с����� ->
��壔�ゃ��綽������������������������ゃ��綽���������ŝ����違����ŝ����勉����㏍�違�í�������������� ��������激�ャ�勤��膣������������冴����������������������˨��篋���������⓾����ŝ����������激�ャ����������� ��≪�壔�祉�鴻�������������˨�����絅�絋���ɾ��������緇������������˨�ŝ����с�����������
(箴�)
�����������í����ŝ�˩梢��í�ŝ�����������箴������������⓾�帥�⓾�帥�障�����������
��障����壔�������˨��[1, 2, 3]
��� (1, 2, 3)
������罕���������������≦����������� 篏������冴����������勰��������絲障�������ŝ����<�㋘�潟�鴻��筝������������������������冴����⓾��������������
��������т札筝���˨�ゃ����☀�������障��
@a = ( [1, 2, 3],
[4, 5, 6],
[7, 8, 9]
);
@a
��壚����ゃ�勤��膣���������ら�������с�������勤��膣���壔�������������ャ�勰��������絲障����� ��ŝ����<�㋘�潟�鴻�с�����
$a[1]
��壔����勉�������ŝ�ŝ����<�㋘�潟�鴻�勌����ゃ�с����� ��������� (4,5,6)
��������ŝ����������������с����障����� ��������奝�������吾�勉�ŝ����<�㋘�潟�鴻�с��Use Rule 2 ��壔����勉������� ��������勛⓬筝�荀�膣����緇������������� $a[1]->[2]
�����吾��������������菴違�鴻�⓾�������勉�с�� $a[1]->[2]
��� 6 ��˨�ŝ����障����� ���罕���˨��$a[0]->[1]
��� 2 ��с����� ��������х�������<��緇���������勉�壚��罨≦����������勉�������ŝ����勉�с��; ��������勌算�����勤����勌算�����勐����˨�����荀�膣����緇������������������˨�祉����������������������勉� $a[ROW]->[COLUMN]
�����吾�������������с����障�����
�����勤��羈���壔�障��絨������宴����˨����������勉�ŝ�勉�с����ヨ��羈������������障��:
(��√�違�勉�˨�若��)
��√�違�壔��篋���ゃ�� 羞祉��絖� ��勰����˨�������勉�ŝ����������ャ�с����障�����
$a[1]->[2]
��� $a[1][2]
�����吾�������������с����障��; �����������壠�������������������潟����障����� $a[0]->[1] = 23
�����吾�鋌c�������� $a[0][1] = 23
�����с����障��; �����������壠�������������с�����
��������ф�㋚����˩��罨≦�������������������ŝ����障�����!
��√�違�����荀���ŝ����������������с����������障����� ��������√�違����ŝ�������違��$a[1][2]
��勌撮��������� ${$a[1]}[2]
�� ��吾����ŝ�������違�ŝ����障�������� 筝�罨≦����������с�壔��${${$x[2]}[3]}[5]
��勉�������ʃ˛��帥�ャ����������勉�с�壔�ŝ���� $x[2][3][5]
�����с����障�����
(膈����)
篁ヤ����壠����˩����������⓾�������馹����絲障�����茹g����с��; ��遵�������純�勐�������勉����<�ゃ�˨� ��������í�若�����������茵���������勉�с�����
1 my %table;
2 while (<>) {
3 chomp;
4 my ($city, $country) = split /, /;
5 $table{$country} = [] unless exists $table{$country};
6 push @{$table{$country}}, $city;
7 }
8 for my $country (sort keys %table) {
9 print "$country: ";
10 my @cities = @{$table{$country}};
11 print join ', ', sort @cities;
12 print ".\n";
13 }
�����㏍�違�í����壚����ゃ�勰�����������罕������������⓾����障��: 2 茵���勉����� 7 茵���勉�壠�ュ����� 茯㏍�粋昭�����с����若�炊��������罕�膀������障��; ��������� 8 茵���勉����� 13 茵���勉�с����若�帥�� 茹f�������☎����������阪�������障����� ��������������<�壔�������с����㏍�若�������☗�純�勐�������������<����ゃ�������☁�遵�������勉�ŝ�鴻����吾� ��ŝ����<�㋘�潟�鴻�������ゃ�������激�� %table
���篏���������������⓾����障����� �����若�炊�������壚札筝���勉�������ŝ����勉�с��:
%table
+-------+---+
| | | +-----------+--------+
|Germany| *---->| Frankfurt | Berlin |
| | | +-----------+--------+
+-------+---+
| | | +----------+
|Finland| *---->| Helsinki |
| | | +----------+
+-------+---+
| | | +---------+------------+----------+
| USA | *---->| Chicago | Washington | New York |
| | | +---------+------------+----------+
+-------+---+
�����������阪�����荀���障����������� ��������с�������с�˩��荐���勖����������с����⓾�������������障��; ��í�勉������� ��阪����������勉�с�����������?
8 for my $country (sort keys %table) {
9 print "$country: ";
10 my @cities = @{$table{$country}};
11 print join ', ', sort @cities;
12 print ".\n";
13 }
%table
��奝��絽吾�勉�������激�ャ�с����������������㏍�若�勉�ŝ�鴻�����緇���⓾����������純�若������� ���絽檎�������㏍�若��絲障����⓾�˨�若�������障����� ��ŝ����<�㋘�潟�鴻�� 10 茵���勉�с�����篏帥�������⓾����障����� $table{$country}
��壔�������激�ャ�� $country
��㏍�若�������с����障��; �������� �����勐�純�勰�遵����勰��������絲障�������ŝ����<�㋘�潟�鴻�с����� Use Rule 1 ��奝�������� @{$table{$country}}
�� ��������冴�������������c�⓾����障����� 10茵���勉�
@cities = @array;
�����������������ŝ����勉�с��������array
������������������ {$table{$country}}
��������� ��ŝ����<�㋘�潟�鴻�̥舟�����������������⓾����障����� @
��� Perl ��̹��������篏������������冴��������������腓冴����⓾����障����� ��遵����勉�ŝ�鴻�����緇������������������純�若�������⓾����ゃ�ŝ�������������☁��絽吾���������������� ��阪�������障�����
2 茵���勉����� 7 茵���勉�壩��������罕�膀������⓾�������������с����� ����イ�����障��:
2 while (<>) {
3 chomp;
4 my ($city, $country) = split /, /;
5 $table{$country} = [] unless exists $table{$country};
6 push @{$table{$country}}, $city;
7 }
2 茵���勉����� 4 茵���勉�奝�遵�������純�勐��������緇���⓾����障����� 5 茵���勉�壔����勐�純�������с�˨�������激�ャ�勉�㏍�若�������☗����������⓾����������í��������荀���⓾����障����� ������絖���������⓾����ŝ�������違�������㏍�違�í����� [] 荐�羈� (Make Rule 2) ���篏帥�c�〠�違����� 腥冴�勰�遵�������主�������������≦�����������篏������冴����障��; ��������⓾����ŝ����<�㋘�潟�鴻���������� ��ï����ŝ�㏍�若�˨�祉����������障�����
6茵���勉�奝�遵��������絲上����������������˨�ゃ�潟�鴻����若�˨����障����� $table{$country}
��壔�������с����勐�純�勰�遵����勰��������絲障�������ŝ����<�㋘�潟�鴻�� 篆���������⓾����障����� 6 茵���勉�
push @array, $city;
��勉�������ŝ����勉�с����������違�ŝ����勉�� array
��� {$table{$country}}
��������� ��ŝ����<�㋘�潟�鴻�̥舟�����������c�⓾�������鴻�с����� push
��奝�遵�������������с�������⓾�������������勖��絨障� 菴遵�������障�����
��鴻�㏍�������������鴻����������障����� 5 茵���勉�壚��綽�荀���ŝ�勉�с����������ゃ�������������с����障�����
2 while (<>) {
3 chomp;
4 my ($city, $country) = split /, /;
5 #### $table{$country} = [] unless exists $table{$country};
6 push @{$table{$country}}, $city;
7 }
%table
��勌賢��̥憜����� $country
��勉�������勉����潟����ŝ�������с��絖���������⓾������� ��違�ŝ����鴻�壔�������障�������� 6 茵���勉�奝�������吾�勉�ŝ����<�㋘�潟�鴻�с����� $table{$country}
��勐�ゃ��羈◐�勉����� �����勰�������� $city
�����������激�ャ����障����� ������������$country
��� %table
��勌賢��˨�ŝ�� Greece
��勉�������ŝ�㏍�若�� 篆���������⓾��������篏������������勉�с�����������?
��������� Perl ��с��; ��с�������������㋚�����罩c��������������茵������障����� 絖���������⓾����ŝ����������� Athens �����������激�ャ�������������������勉�с����違����霣冴� ��≦����������������ŝ����勉�������˩�������冴����⓾�������� %table
��˨�ゃ�潟�鴻����若�˨����障��; ��������⓾����������� Athens
�����������˨�������激�ャ����障����� ��������� ��ɱ�������劫��(autovivification) �����若�違����障����� Perl ��壔�������激�ャ�勌賢��˨����������勉�㏍�若��絖���������ŝ�����������腆肴����������違�������������激� �����潟����ŝ����ɱ�������˩�������冴����障����� Perl ��壔����ŝ�������������激�ャ�勐�ゃ����������������〠�宴����������c�⓾�������������� ��ャ�c�⓾�������勉�с����違�����腥冴�勰��������篏������冴����⓾�������激�ャ�勌賢��˨��������絲障����� ��ŝ����<�㋘�潟�鴻����ɱ�������˨�ゃ�潟�鴻����若�˨����障����� �����ゃ�������������������˨��Perl��壩�違����ʒ�遵��������篆����������筝�荀�膣���勰�������� 篏������冴����障�����
(罧����)
�����������壔����ŝ����� 10% ��勤¼膣違�� 90% ��勐�ñ�����緇�������������膣���������障�����; ��������⓾�������虁¼膣違�� 90% ��������勉�障�障�˨����⓾����������������������с����� 篁���������ŝ����奝��荀���ʒ��������荀���⓾����障�����; ��������˨�����荅括完��� 100% ���菴違�鴻�⓾����� perlref man �����若�吾��������膂≦����̬˛��������������с�������������˨�ŝ�c����с�����������
perlref ��勉����ゃ�í�ゃ����勐江��ゃ�������������⓾�������障��:
-
篁紙����勉����勉��絲障�������ŝ����<�㋘�潟�鴻��篏���������������������с����障��; ��������˨�壔�鴻�˨�í����∽�違��篁���勉�ŝ����<�㋘�潟�鴻����˨�障����障�����
-
Use Rule 1 ��勌賢��с�������勌賢��˨����������勉��
$aref
��勉������� ��≪����������壔�ŝ�鴻�˨�ï����違�с�������翫����˨�壔�˨�若�ŝ�若����í�宴�������� �����ャ����������������с����障����� �����������違��@$aref
���@{$aref}
�����������с��$$aref[1]
��${$aref}[1]
�����������с����� 紮���������違�������ŝ�勉�с�������違��絽吾�˨�˨�若�ŝ�若����í�宴�������у�蚊����������� 膺���d�������������ŝ����������������障�������� -
篁ヤ����奝�������勐��絎鴻����潟����若����障�����:
$aref2 = $aref1;
���������������絲障�����篋���ゃ�勉�ŝ����<�㋘�潟�鴻��緇���������障����� ������
$aref1->[23]
���紊���眼����⓾��$aref2->[23]
��� �����с�������ŝ����医����眼����������勉��荀���������с����������������������潟����若�������˨�壚札筝���勉�������˨����障��
$aref2 = [@{$aref1}];
��������壩�違����ɾ�≦�����������篏������冴�����������
[...]
荐�羈����篏帥�c�⓾����障��; ��������⓾��$aref2
��壩�違����ʒ��������絲障�������ŝ����<�㋘�潟�鴻��篁e�ャ�������障����� ��違����ʒ��������$aref1
��˨����c�☗����с����������������勐��絎鴻�˨����c�☗����������������障��������罕���˨����≦����������激�ャ����潟����若�������˨�壚札筝���勉�������˨����障��
$href2 = {%{$href1}};
-
紊���違����ŝ����<�㋘�潟�鴻��篆���������⓾�������������˨��������腆肴����������˨�壔��
ref
��∽�違��篏帥����障����� �����勰�∽�違�壔����勐����違����ŝ����<�㋘�潟�鴻�с�������������˨�夌�����菴������障����� 絎������˨�壔�������<����c�◑�壔����⓾����������激�ャ�ŝ����<�㋘�潟�鴻�с��������HASH
������ ��������ŝ����<�㋘�潟�鴻�с��������ARRAY
���菴������障����� -
��ŝ����<�㋘�潟�鴻�����絖������勉�������˩戎��c����翫����˨�壔��篁ヤ����勉�������ʋ��絖�������緇���������障��
ARRAY(0x80f5dec) or HASH(0x826afc0)
�����������勉�������ʋ��絖�������荀������ŝ����違����ŝ����<�㋘�潟�鴻����������c�☗�阪����������������� ��ャ�������������ŝ����с�����������
�����勤;�憗�勐�壚�������壔��
eq
���篋���ゃ� ��ŝ����<�㋘�潟�鴻�������������勉�������с����⓾����������í��������腆肴���������������� 篏帥�������������с����������������������с����� (���������������絽吾�壔�������í��==
���篁c������� 篏帥����鴻����с�����������) -
���絖���������ŝ����<�㋘�潟�鴻�с����������勉�������˩戎��������������с����障����� ���絖����
"foo"
�����������ŝ����<�㋘�潟�鴻�������☖戎������������@foo
��吾� �����с�с����������勉��������������篁������������障����� ��������� ��激�潟����ŝ����壔�ŝ����<�㋘�潟�� �����若�違����障�����use strict 'refs'
���絎h����������������˨����c�⓾����≪�壔�激����潟����˨����c� ��馹����綣����莎激�������������翫����������������勖����純��胼�罩≪����������������с����障�����
perlref ��������� perllol ��̬����������������������������������障�����; ��������с�壔�ŝ�鴻����勉�ŝ�鴻�����紊�罨≦����������˨�ゃ����☀¼�����颷違�鴻�������⓾����障����� �����勐����с��perldsc ��̬�������◑�壔����с��������; ��������壔����若�炊�������壔����壔������� (Data Structure Cookbook)��с����������激�ャ�勰����������������勉�������激�ャ�������勌���� �����若�帥�勌戎��������阪����˨�ゃ����⓾�勉�㋘�激�������������障�����
(��障�����)
�����鴻�⓾�勌査���茲���������若�炊��������綽�荀���������⓾����⓾��Perl��с�勉��������緇������������鴻� ��ŝ����<�㋘�潟�鴻�с����� ��ŝ����<�㋘�潟�鴻����宴����˨�������c�☗����ゃ�勰��荀���ŝ�˨�若�˨����������障��: 篋���ゃ� ��ŝ����<�㋘�潟�鴻�勌�������˨�ゃ����⓾�с��篋���ゃ�壔�ŝ����<�㋘�潟�鴻�勌戎�����˨�ゃ����⓾�с����� �����������勉�˨�若�˨����ャ�c�⓾����障����違�������ŝ�������ŝ����<�㋘�潟�鴻��篏帥�c�☀�����綽�荀���� ��������������勰��荀���ʒ�������勉�祉�������í��茵���������������с����障�����
篏����: Mark Jason Dominus, Plover Systems (mjd-perl-ref+@plover.com
)
�����勤��篋���壩�������� The Perl Journal ( http://www.tpj.com/ ) volume 3, #2 ��̥�糸�眼����障�������� 荐怨檽��緇���☀拶莠������⓾����障�����
�����勉�帥�ゃ����˨�� Understand References Today ��с��������
Copyright 1998 The Perl Journal.
This documentation is free; you can redistribute it and/or modify it under the same terms as Perl itself.
Irrespective of its distribution, all code examples in these files are hereby placed into the public domain. You are permitted and encouraged to use this code in your own programs for fun or for profit as you see fit. A simple comment in the code giving credit would be courteous but is not required.