Sign in to PrePAN



GitHub: skaji PAUSE ID: SKAJI

User's Modules

Mojo::Promise::Limitter limit outstanding calls to Mojo::Promise


I'm currently playing with async-await in Mojolicious. It's great.

When I want to call a lot of external commands, I noticed that there is no way to limit concurrent calls to external commands. So I tried creating Mojo::Promise::Limitter.


  • Is there already a module that has the same functionality as this module?
  • Any feedback (including implementation) is welcome.

skaji@github 0 comments

CI Get details about the current CI environment

This module provides details about the current CI environment. This is a perl port of


  • Do you think the name "CI" is appropriate?
  • Do you think this module is useful?
  • Any feedback is welcome.


skaji@github 5 comments

Mojo::IOLoop::Signal Mojo::IOLoop based, non-blocking signal handler

Mojo::IOLoop::Signal is a Mojo::IOLoop based, non-blocking signal handler.


  • Why does not Mojo::IOLoop officially support signals?
  • Do you think this module useful?
  • Any feedback is welcome.


skaji@github 0 comments

Mojo-SlackRTM SlackRTM client using Mojo::IOLoop

Mojo::SlackRTM is a SlackRTM client using Mojo::IOLoop.

Please look at for details.

See also


  • Can I use Mojo namespace?
  • If not, what name do you recommend?

skaji@github 0 comments

App::FatPacker::Simple only fatpack a script

App::FatPacker::Simple or its frontend fatpack-simple helps you fatpack a script when YOU understand the whole dependencies of it.


App::FatPacker::Simple is a subclass of App::FatPacker. Let me explain why I wrote this module.

App::FatPacker brings more portability to Perl, that is totally awesome.

As far as I understand, App::FatPacker does 3 things: (a) trace dependencies for a script, (b) collects dependencies to fatlib directory and (c) fatpack the script with modules in fatlib.

As for (a), I often encountered problems. For example, modules that I don't want to trace trace, conversely, modules that I DO want to trace do not trace. Moreover a module changes interfaces recently, so we have to fatpack that module with new version, etc. So I think if you author intend to fatpack a script, YOU need to understand the whole dependencies of it.

As for (b), to locate modules in a directory, why don't you use carton or cpanm?

So the rest is (c) to fatpack a script with modules in directories, on which App::FatPacker::Simple concentrates.

That is, App::FatPacker::Simple only fatpacks a script with features:

  • automatically perl-strip modules
  • has option to exclude some modules


  • Can I use App::FatPacker namespace? If not, what name do you recommend?
  • Have you have problems with App::FatPacker? If so, is this module useful for you?
  • Any feedback is welcome.


skaji@github 3 comments

Path::Maker make files and directories as scaffolding

Path::Maker helps you make files or directories as scaffolding. When I wrote a CLI script for mojo, I found that Mojolicious::Command is very useful. This module provides some functionality of that module with template syntax Text::MicroTemplate.

skaji@github 8 comments