サブルーチンとか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;