#!/usr/bin/perl -s our($p,$par); use utf8::all; use strict; #undef $/; $/=''; my $q=qr/[‑\-]/; my $punct=qr/[.!?]["'´`]?/; while(<>){ s/[ \t\r]+\n/\n/g ; if($p){ s/(\S+\w)$q\n(\h*)/\n$2$1/g ; } else { s{ (\S+\w)($q)\n (\h*)(se|lh[eoa]s?|[ao]s?|[mlt][e]s?|á|[A-Z]\w+)\b }{\n$3$1$2$4}xg ; s{ (\S+\w)$q\n(\h*)(\w|$q) }{\n$2$1$3}xg ; } s/(\S+)$q\^\n/\n$1/g ; # ???? if($par){ s/($punct)(\n\h*[A-ZÁÉÍÓÚÂÊÎÔÛÀÈÌÒÙ\-])/$1\n\2/g ; s/\bD\.\n\n/D.\n/g; s/^/\n/ } print; }