Acme-LookOfDisapproval

 view release on metacpan or  search on metacpan

META.json  view on Meta::CPAN

{
   "abstract" : "Send warnings with \u0ca0_\u0ca0",
   "author" : [
      "Karen Etheridge <ether@cpan.org>"
   ],
   "dynamic_config" : 0,
   "generated_by" : "Dist::Zilla version 6.032, CPAN::Meta::Converter version 2.150010",
   "keywords" : [
      "unicode",
      "canary",
      "warning",
      "utf8",
      "symbol",
      "\u0ca0_\u0ca0"
   ],
   "license" : [
      "perl_5"
   ],
   "meta-spec" : {

META.json  view on Meta::CPAN

         {
            "class" : "Dist::Zilla::Plugin::MetaConfig",
            "name" : "@Author::ETHER/MetaConfig",
            "version" : "6.032"
         },
         {
            "class" : "Dist::Zilla::Plugin::Keywords",
            "config" : {
               "Dist::Zilla::Plugin::Keywords" : {
                  "keywords" : [
                     "unicode",
                     "canary",
                     "warning",
                     "utf8",
                     "symbol",
                     "\u0ca0_\u0ca0"
                  ]
               }
            },
            "name" : "@Author::ETHER/Keywords",
            "version" : "0.007"

META.yml  view on Meta::CPAN

  Test::Warnings: '0.009'
  open: '0'
  perl: '5.016'
configure_requires:
  File::Spec::Functions: '0'
  Module::Build::Tiny: '0.034'
  perl: '5.008'
dynamic_config: 0
generated_by: 'Dist::Zilla version 6.032, CPAN::Meta::Converter version 2.150010'
keywords:
  - unicode
  - canary
  - warning
  - utf8
  - symbol
  - ಠ_ಠ
license: perl
meta-spec:
  url: http://module-build.sourceforge.net/META-spec-v1.4.html
  version: '1.4'
name: Acme-LookOfDisapproval

META.yml  view on Meta::CPAN

      version: '6.032'
    -
      class: Dist::Zilla::Plugin::MetaConfig
      name: '@Author::ETHER/MetaConfig'
      version: '6.032'
    -
      class: Dist::Zilla::Plugin::Keywords
      config:
        Dist::Zilla::Plugin::Keywords:
          keywords:
            - unicode
            - canary
            - warning
            - utf8
            - symbol
            - ಠ_ಠ
      name: '@Author::ETHER/Keywords'
      version: '0.007'
    -
      class: Dist::Zilla::Plugin::UseUnsafeInc
      config:

anotherlib/Acme/o_o.pm  view on Meta::CPAN

=head1 SYNOPSIS

    use utf8;
    use Acme::ಠ_ಠ;
    ಠ_ಠ 'you did something dumb';

=head1 DESCRIPTION

See L<Acme::LookOfDisapproval>.

=for stopwords unicode

This module also serves as a test of unicode module names. I have no idea if
this will work -- let's find out!!!

=head1 FUNCTIONS

=head2 C<ಠ_ಠ>

Behaves identically to L<perlfunc/warn>.

=head1 SUPPORT

dist.ini  view on Meta::CPAN

Test::MinimumVersion.max_target_perl = 5.016
Test::NoTabs.:version = 0.06
Test::NoTabs.file = lib/Acme/ಠ_ಠ.pm
Test::EOL.:version = 0.17
Test::EOL.file = lib/Acme/ಠ_ಠ.pm
PodWeaver.finder[0] = :InstallModules
PodWeaver.finder[1] = AnotherLib
PromptIfStale.skip = MungeInstallers

[Prereqs / RuntimeRequires]
perl = 5.016                    ; FIXME - this should be autodetected, via unicode in symbol names

[Prereqs / ConfigureRequires]
File::Spec::Functions = 0

; authordep Pod::Weaver = 4

; adds a line to Build.PL which copies anotherlib/Acme/o_o.pm to lib/Acme/ಠ_ಠ.pm
[=inc::MungeInstallers]

lib/Acme/LookOfDisapproval.pm  view on Meta::CPAN

use strict;
use warnings;
use utf8;
package Acme::LookOfDisapproval; # git description: v0.007-16-g8154023
# vim: set ts=8 sts=2 sw=2 tw=100 et :
# ABSTRACT: Send warnings with ಠ_ಠ
# KEYWORDS: unicode canary warning utf8 symbol ಠ_ಠ

our $VERSION = '0.008';

use Exporter;
our @EXPORT = ('ಠ_ಠ');

sub import {
  utf8->import;
  goto &Exporter::import;
}

lib/Acme/LookOfDisapproval.pm  view on Meta::CPAN

disapproval.

=head1 FUNCTIONS

=head2 C<ಠ_ಠ>

Behaves identically to L<perlfunc/warn>.

=head1 BACKGROUND

=for stopwords unicode

I wrote this as an exercise in using unicode in code, not just in a string.
Then, it became an interesting learning experience in how to cleanly map to a
core function, and re-exporting symbols.

The first draft did this:

    use Carp 'carp';
    sub ಠ_ಠ { local $Carp::CarpLevel = $Carp::CarpLevel + 1; carp @_; }

And then it became:

lib/Acme/LookOfDisapproval.pm  view on Meta::CPAN

I also discovered while writing this distribution that L<Dist::Zilla> is not
able to munge files with utf8 characters, therefore I had to switch to packaging
this distribution with vanilla L<ExtUtils::MakeMaker>; also, a number of the
author and release tests that would have been added by dzil automatically
didn't work either (for example, see C<t/00-compile.t> -- C<< qx(^$X "require $_") >>
both needs the C<:binmode> or C<:encoding(UTF-8)> layer applied to C<STDOUT>, and
requires the L<utf8> pragma applied in the sub-perl (leading to more patches).

After pushing several patches to core L<Dist::Zilla> and some independently-distributed plugins,
I have been able to switch back to packaging with L<Dist::Zilla>.
Everything is now much more unicode-clean! 💃

=head1 SEE ALSO

=over 4

=item *

L<the Look of Disapproval Meme|http://knowyourmeme.com/memes/%E0%B2%A0_%E0%B2%A0-look-of-disapproval>

=item *

L<lambda> - another example of unicode sub names

=back

=head1 SUPPORT

Bugs may be submitted through L<the RT bug tracker|https://rt.cpan.org/Public/Dist/Display.html?Name=Acme-LookOfDisapproval>
(or L<bug-Acme-LookOfDisapproval@rt.cpan.org|mailto:bug-Acme-LookOfDisapproval@rt.cpan.org>).

I am also usually active on irc, as 'ether' at C<irc.perl.org> and C<irc.libera.chat>.



( run in 0.369 second using v1.01-cache-2.11-cpan-4e96b696675 )