File: output-charset.pl

package info (click to toggle)
libhtml-formatexternal-perl 26-6
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 404 kB
  • sloc: perl: 2,397; sh: 164; makefile: 3
file content (52 lines) | stat: -rw-r--r-- 1,571 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#!/usr/bin/perl -w

# Copyright 2008, 2009, 2010, 2014 Kevin Ryde

# HTML-FormatExternal is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as published
# by the Free Software Foundation; either version 3, or (at your option) any
# later version.
#
# HTML-FormatExternal is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
# for more details.
#
# You should have received a copy of the GNU General Public License along
# with HTML-FormatExternal.  If not, see <http://www.gnu.org/licenses/>.

use strict;
use warnings;
use Module::Load;

foreach my $class ('HTML::FormatText::Elinks',
                   'HTML::FormatText::Html2text',
                   'HTML::FormatText::Lynx',
                   'HTML::FormatText::Links',
                   'HTML::FormatText::Netrik',
                   'HTML::FormatText::W3m',
                   'HTML::FormatText::Vilistextum',
                  ) {
  Module::Load::load($class);
  my $name = $class;
  $name =~ s/.*:://;

  my $html_string = '<html><body><p>&ouml;</p></body></html>';
  my $text = $class->format_string ($html_string);

  printf "%-12s ", $name;
  if (! defined $text) {
    print "undef\n";
    next;
  }
  $text =~ s/\n//g;
  $text =~ s/ //g;

  foreach my $i (0 .. length($text)-1) {
    print ord(substr($text,$i,1))," ";
  }
  if (length($text) == 0) {
    print "empty";
  }
  print "\n";
}