サブルーチンとかforとか

PHP/Javaエンジニアがperlエンジニアになる③

引数

sub createUser {
    my ($id, $name) = @_;
}

createUser(1, 'hoge');
``

うっかり`createUser()`と書いてしまいそう


引数にはハッシュや配列を渡せないらしい
そこでリファレンスを渡す

sub hoge() { my ($ref) = @_; print “@$ref_array1[0]”; }

hoge(\@array);

##return

sub hogehoge { return 1; } ``

複数返せる

sub hogehoge {
  return (1,2,3);
}
``




##for

for (@arr) { print “$_”; }




for my $a (@arr) { print “$a”; }




for ($a, $b, $c) { print “$_”; }

柔軟に書けるが、反面馴染みにくい


ハッシュのfor

for (keys %hash){ print “$hash{$_}”; }


##map

my @arr2 = map {$_ + 1} @arr;

配列が返るのでハッシュにすることも出来る

my @hash = map {$_ => 1} @arr;