camel

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�Υ֥��å����$_�⻲�ȤȤʤäƤ��ޤ���

[Run via CodePad]
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�⻲�ȤȤʤ�ޤ���

[Run via CodePad]
local ($, , $\) = (', ', "\n"); # for print
my @array = (0..6);
for my $i (@array) { $i++ };
print @array;

������Ф��ơ�while(my ($k, $v) = each %hash){ ... }��$k�����$v�ϥ��ԡ��Ǥ���

[Run via CodePad]
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