Good Question!
@_�����Ǥ�$_[0],$_[1]���ϡ���Ǽ����٤����ɥ쥹�����ѡ� - ���������ʤ�������ʻ��ͤˤ����Τ���������������
Good Question �������äơ�Good Reasons �â¤ï¿½ï¿½ï¿½ï¿½È¤ï¿½ï¿½ï¿½Þ¤ï¿½ï¿½ï¿½
@_��$_����̩
�ޤ������¤�Ƴ�ǧ���Ƥ����ޤ��礦��
Perl�ˤ����ơ��������Ǽ��������@_
�ϡ���˻���(reference)�Ǥ�����(value)�ǤϤ���ޤ���
���줬�����̣���뤫�Ȥ����ȡ�@_
�ؤνñ¤¹ï¿½ï¿½ß¤ï¿½ï¿½ï¿½ï¿½Æ¤Ó½Ð¤ï¿½ï¿½ï¿½ï¿½Ø¤Î½ñ¤¹ï¿½ï¿½ß¤È¤Ê¤ï¿½È¤ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½È¤Ç¤ï¿½ï¿½ï¿½
�ºݤ��ͻҤ򸫤Ƥߤޤ��礦��
[Run via CodePad]sub inc { ++$_[0] } my $a = 0; print $a, "\n"; inc($a); print $a, "\n";
����ϡ������˾���ͤ�����JavaScript�ʤɤȰۤʤ�ޤ���
var inc = function(n){ return ++n }; var a = 0; alert([a, inc(a), a].join(', '));
JavaScript��Ʊ�ͤη�̤�����ˤϡ����Τ褦�ˤ��ƸƤӽФ�¦������Ū����������ɬ�פ�����ޤ���
var inc = function(n){ return ++n }; var a = 0; alert([a, a = inc(a), a].join(', '));
Perl�Ǥϡ�¾�ˤ⡢foreach
��grep
��map
�Υ֥��å����$_
�⻲�ȤȤʤäƤ��ޤ���
local ($, , $\) = (', ', "\n"); # for print my @a = (1..10); print @a; --$_ foreach @a; print @a; map { $_ *= 2 } @a; print @a; print grep { $_ *= $_ } @a; print @a;
��Ĥ���ͳ
�ʤ�ǡ������ʤäƤ���ΤǤ��礦������ͳ����Ĥ���ޤ���
��Ĥϡ����Ū����ͳ��Perl 4�ޤǡ�Perl�ˤ�����Ū�ʻ���(reference)�Ȥ������Ȥߤ�����ޤ���Ǥ�����$$scalarref = 'new string';
�Τ褦�ʤ��Ȥ�����ʤ��ä��ΤǤ���
�⤦��Ĥϡ���Ψ�����Ȥ���funksun($scalar)
��$scalar
������MB�⤢�ä���ɤ��ʤ�Ǥ��礦?�ؿ��θƤӽФ��Τ��Ӥˡ����β�MB�⤢�����Ƥ����ԡ�����뱩�ܤˤʤ�ޤ��������Ϥ��Ǥ���С�������ɤ����Ȥ�����ޤ���
�ȤϤ������տޤ������������Ѥ��Ƥ��ޤ��Τϴ����Ǥ������꡼��¤���my
(�ì¥ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Ñ¿ï¿½)�⥵�ݡ��Ȥ��줿���Ǥϡ�
my $self = shift; # �������use Data::Dumper; my %hash = do { my $i = 0; map { $_ => $i++ } qw/Sun Mon Tue Wed Thr Fri Sat/ }; print Dumper \%hash; while(my ($k, $v) = each %hash){ $k = lc($k); $v *= 2 }; print Dumper \%hash;
��
my ($a, $b, $c) = @_; # ��������
�Ȥ������ˡ��ǽ�˰����Υ��ԡ����ä���ǡ����Υ��ԡ������Ѥ���Ȥ����Τ���ˡ(a good practice)�Ȥʤꡢ���ȸ�����Ѥ�����ˤϡ��ƤӽФ�¦������Ū��
my $a = 0; inc(\$a);
�Ȥ�����ǡ��ؿ�¦�Ǥ�����Ū��
sub inc{ my $n = shift; $$n += 1; }
�Ȥ������ˤ���褦�ˤʤäƤ��ޤ����������Ǥ�������������ʤ���Фʤ�ʤ����̤Ȥ����Τϵ��ʤ���¸�ߤ��ޤ����㤨��Encode�Ǥ⡢���ץ����λ���ˤ�äƤϥ��顼�����κݡ�̤������ʬ������˽��᤹�褦�ˤ��Ƥ��ޤ������줬�ʤ�ɬ�פʤΤ��ϡ�Encode::PerlIO������������
@_
��$_
�Τ��������ϡ��Τ餺�˻Ȥ��Ȥ���äȴ����Ǥ������ΤäƤ���и�ΨŪ�ʥ����ɤ�񤱤ޤ����������Ѥ��ޤ��礦��
�����������⤦���α������foreach my $elem (@array){ ... }
��$elem
�⻲�ȤȤʤ�ޤ���
local ($, , $\) = (', ', "\n"); # for print my @array = (0..6); for my $i (@array) { $i++ }; print @array;
������Ф��ơ�while(my ($k, $v) = each %hash){ ... }
��$k
�����$v
�ϥ��ԡ��Ǥ���
use Data::Dumper; my %hash = do { my $i = 0; map { $_ => $i++ } qw/Sun Mon Tue Wed Thr Fri Sat/ }; print Dumper \%hash; while(my ($k, $v) = each %hash){ $k = lc($k); $v *= 2 }; print Dumper \%hash;
Dan the Perl Monger
Data::Dumper���󤬥��������Ǥ��ܤäƤޤ��衪