I just made the correction recommended by frozenwithjoy and now my program is returning " plus equals " I am more confused than ever. Before, my return variable shared the same name as the variable that I inputed into the subroutine with shift. Then, I noticed that the variable name associated with shift seemed to be irelevant so I changed it to $_ and everything worked except for sum. Just now, for congruency's sake, I changed the return variable to $_ and now nothing works. By what logic is this hapening? This is a fascinating bug to me.