Is there a particular reason why you are accessing &$Str_Input by reference? It would appear that your accessing it by reference but assigning it by value? This doesn't make sense, unless someone can enlighten me.
(Obviously you can't because you're banned )
Code indenting leave much to be desired, also if you are going to separate words in your variable names with a _ then you probably don't need to use camel case.