ちょっと違う質問なんだけど、mapの
map BLOCK,LIST;
の書式の場合、返り血をリストコンテキストで評価すると何が返されるの?

@test = ( "a1","a2" );
@an = map { $_ =~ s/a//g } @test;
これだとわかりやすく$_を置換したものが毎回の返り血だけど、

@test = ( "a1","a2" );
@an = map { my $a = 5;
      $_ =~ s/a//g } @test;
これだとmap内の一行目の代入成功の真(1)が毎回返される。

@test = ( "a1","a2" );
@an = map { $_ =~ s/a//g;
       my $a = 5 } @test;
今度は5が毎回返される。

map内の任意の処理結果を返させたい時にはどうするもんなの?
returnとかやっても期待通りの結果が得られないんだけど。