>>252
> &Memory2($dataname,"@test_new");
                ~~~~~~~~~~~~~
しっかり括ってるじゃないか・・・原因はこれ
ダブルクォーテーションで括った場合の配列変数の展開は以下と同等
join(@array, $")
$"のデフォルト値は半角スペースだからこういうことになる。

&Memory2($dataname,@test_new);
とすればよい