in reply to Regexp - match if not between [ ]

I need to split a string at dots (.) that are not between square braces

Sounds like a task for Text::CSV with brackets as delimiters and dot as separator

or not immediately after two patterns ( Cf. or \w\d+.\d+ pattern, like A432.23 ).

Post-process the output from Text::CSV, and join two adjacent columns if the first of them ends in one of the patterns.