Thanks to all who helped.
die "$!", I was returned with the error "Not enough space". Some quick searching told me that I didn't have enough swap space on the machine and I changed my code to use a while loop for the null-character substitution - a later loop takes care of everything else. The file is just so damn big that the array forces the UNIX box to use swap space...swap space that I didn't have.
Thanks.