Escopo das variáveis ​​no KSH

Eu escrevi uma função KornShell de amostra para dividir uma String, colocá-la em uma matriz e depois imprimir os valores. O código é como abaixo

#!/usr/bin/ksh

splitString() {

    string="[email protected];[email protected];[email protected]"

    oIFS="$IFS"; 
    IFS=';' 
    set -A str $string
    IFS="$oIFS"
}

splitString
echo "strings count = ${#str[@]}"
echo "first : ${str[0]}";
echo "second: ${str[1]}";
echo "third : ${str[2]}";

Agora oecho não imprime os valores da matriz, então eu suponho que tenha algo a ver com o escopo da matriz definida.

Eu sou novo no script da Shell, alguém pode me ajudar a entender o escopo das variáveis ​​no exemplo acima?

questionAnswers(2)

yourAnswerToTheQuestion