Alcance de variables en KSH

He escrito una función de KornShell de muestra para dividir una cadena, colocarla en una matriz y luego imprimir los valores. El código es el siguiente

#!/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]}";

Ahora elecho no imprime los valores de la matriz, por lo que asumo que tiene algo que ver con el alcance de la matriz definida.

Soy nuevo en Shell scripting, ¿alguien puede ayudarme a entender el alcance de las variables en el ejemplo anterior?

Respuestas a la pregunta(2)

Su respuesta a la pregunta