Partiamo dal presupposto che ho capito il 20% di quello che hai scritto....
Il file proviene da un sistema unix. Ho provato ad applicare:
^\r?(.{3})\.(.+)$/$1;$2/
Ma il problema continua ad esserci.
Con s/[\r\n]*/\n/gr mi da un errore che viene dall'ultima r.
Ho provato a guardare un po' di guide ma non ho trovato nessuna opzione che escludesse gli acapo.