Eu gostaria de retornar um array de uma função em ksh93 .
Neste ponto, usando o método a seguir, o conteúdo da matriz é passado como um único elemento, embora, na função, a matriz seja vista como contendo 48 elementos.
A função é chamada assim:
function_name Variable_Name
Na função declaro uma variável local e atribuo a ela o nome da variável local ao script de chamada.
typeset __NOM=$1
Mais tarde, na função, tento retornar o array dessa maneira:
eval ${__NOM}="'${ARRAY[@]}'"
O que eu recebo como resultado, é o conteúdo da matriz, mas visto como contendo 1 elemento e não os 48 vistos na função. Todos os dados estão presentes, mas como um grande elemento.
Eu uso esse método com variáveis que contêm muitos elementos e funciona bem.
É possível que não funcione com matrizes?
Se não, usarei uma variável global. Será mais simples, mas seria bom que funcionasse.