-sub try_cat {
- my ($path) = @_;
- open(my $fh, '<', $path) or return '';
- local $/;
- <$fh> // '';
-}
-
-sub cat_desc ($) {
- my $desc = try_cat($_[0]);
- local $/ = "\n";
- chomp $desc;
- utf8::decode($desc);
- $desc =~ s/\s+/ /smg;
- $desc eq '' ? undef : $desc;
-}
-