Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Re^3: App::Cmd::Command and abstract encoding (=encoding utf8)

by tobyink (Abbot)
on Mar 01, 2013 at 01:18 UTC ( #1021134=note: print w/ replies, xml ) Need Help??


in reply to Re^2: App::Cmd::Command and abstract encoding (=encoding utf8)
in thread App::Cmd::Command and abstract encoding

I asked rjbs on IRC and he said his preferred route was to just interpret all abstracts extracted from the source as being UTF-8, and forget about scanning for the encoding.

I've offered to provide him with a patch, but if anyone beats me to it, that's just fine by me.

package Cow { use Moo; has name => (is => 'lazy', default => sub { 'Mooington' }) } say Cow->new->name


Comment on Re^3: App::Cmd::Command and abstract encoding (=encoding utf8)
Replies are listed 'Best First'.
Re^4: App::Cmd::Command and abstract encoding (=encoding utf8)
by McA (Priest) on Mar 04, 2013 at 14:00 UTC

    I'm not really happy with that "solution", because if a perl source is not declared beeing utf8-encoded it is latin1-encoded by default. A German umlaut in an ABSTRACT would be decoded wrong.

    My proposal from above:

    --- App/Cmd/Command.pm 2013-01-31 01:37:50.000000000 +0100 +++ App/Cmd/Command-New.pm 2013-03-04 14:57:08.398638804 +0100 @@ -11,6 +11,7 @@ # ABSTRACT: a base class for App::Cmd commands use Carp (); +use Encode (); sub prepare { @@ -115,6 +116,7 @@ local $/ = "\n"; my $inpod; + my $enc_seen; while (local $_ = <$fh>) { # =cut toggles, it doesn't end :-/ @@ -127,10 +129,10 @@ next unless $inpod; chomp; - + $enc_seen = $1 if(/^=encoding\s+(\S+)/); next unless /^(?:$class\s-\s)(.*)/; - $result = $1; + $result = $enc_seen ? Encode::decode($enc_seen, $1) : $1; last; }

    Best regards
    McA

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1021134]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (8)
As of 2015-07-08 08:10 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (96 votes), past polls