in reply to Re: One regex construct to handle multiple string types
in thread One regex construct to handle multiple string types

I think the poster didn't want so much the final two characters (which could be got by substr($_, -2) anyway) as non-space characters after a period. Of course, your regex could easily be adapted to /\.(\S+)$/; but I think the sexeger /^(\S+)\./ should be quicker on some inputs (in the sense that it doesn't have to back-track on pathological strings like '............... .a').

UPDATE: My sexeger can behave badly on strings with multiple periods in them. Two natural changes are to make the \S+ match non-greedy, or to change \S to [^.]. These have different matching behaviour, especially on strings with characters that are neither spaces nor 'word' characters, and on strings with multiple periods; but one of them might do what the poster wants.
Also, I changed the sample string to one that actually matches.

UPDATE 2: Oops, on re-reading, the poster explicitly wants to allow strings without any periods at all. Never mind.