Um, leave it that way if you want, but I taught English, for five years, so I think I know a bit about it. (I'm not trying to sound like a know-it-all or be rude in any way, so please don't take offense). I don't think you need to set off "at once" at ALL. "When he at once beholds the foe" works just as well. I know you think that setting it off slows the line down, but that shouldn't be done without grammatical cause because it sounds old-fashioned and too consciously poetic. However, if you decide to set it off, you MUST use dashes instead of hyphens. (Commas, and sometimes parenthesis, would also be acceptable). This is a hyphen -. This is a dash —. (I'm not really going to get into the difference between em and en dashes because it's confusing, so I'll just talk about em dashes, but it HAS to be a dash). Hypens are used to make compound words or separate parts of words at the ends of lines. Dashes (em dashes) are used to indicate a break in thought, and that is why they are sometimes used to set of parentheticals, but I don't feel much of a break when I read your line. Hyphens and dashes aren't interchangable. I also have to say that a dash suggests a stronger break than a comma, so skilled writers use them more sparingly than commas for parentheticals. http://owlet.letu.edu/grammarlinks/punctuation/punct4d.html http://www.edufind.com/ENGLISH/punctuation/hyphen.cfm
Well, you must have put two anacoluthia in there (the second being "we will get a justify"). Frankly, I don't think either works, so I'd make it grammatically correct. You have a number of errors in this. For instance, battlefield is one word. I also think at once should be set off with commas, if at all. You set it off with hyphens, but they are never used that way. Dashes set off parentheticals. (In most word processors, you can type two hyphens and hit enter, and the word processor will convert that into a dash, but if yours doesn't, two hyphens typed together are considered equivalent). I also don't think the rhyme fits the serious subject.