In the past I had written my own simple "elide" functions for different projects, but no more! This module looks to have to clear docs, and sufficient tests.
However, I have to tone down my enthusiasm for it became of the dependency chain. It depends on Sub::Exporter, which depends on Data::OptList, which had a "pod.t" that failed when I tried to install it:
"Insecure dependency in chdir while running with -T switch at /usr/local/lib/perl5/5.8.0/File/Find.pm line 807."
This might be a side-effect of trying to install the modules as a non-root user.
For similar, simpler module with no dependencies, see Text::Truncate instead.