Hello!
Maybe is the problem in names of variables?
$ eval array_intel-microcode="udev"
bash: array_intel-microcode=udev: command not found
$ echo $?
127
$ echo $array_intel-microcode
-microcode
$ eval array_intel_microcode="udev"
$ echo $?
0
$ echo $array_intel_microcode
udev
WBR,
Mihail.