Sign in to PrePAN

PrePAN provides a place
to discuss your modules.


Requests for Reviews Feed

Carton::Include A module to automatically include the nearest local/ dir

When I want to execute script that uses a cpanfile & Carton, I have to type "carton exec ./" in order to execute it (in order to include the nearest local/ directory in @INC). By creating Carton::Include, and using this module inside my scripts, I can have them automatically search for the nearest local/ directory up the tree and "use lib" that, so I can then execute my script by typing only ./

akarelas@github 1 comment

Catalyst::Authentication::Credential::JWT authentication to a Catalyst app via JSON Web Token

This authentication credential checker tries to read a JSON Web Token (JWT) from the current request, verifies its signature and looks up the user in the configured authentication store.

It provides support for authentication/authorization via JWT to Catalyst.

gerhardj@github 0 comments

Verilog::VCD::Writer creates VCD waveform files

VCD(Value Change Dump) is the default way of recording waveform information for a HDL(Verilog/VHDL/SystemC/SystemVerilog) simulation.

This module provides an implementation of a VCD Writer.

The module originally started as a quick and dirty perl script to convert the CSV file generated by a logic analyzer into a VCD file.

For the release on CPAN the original code has been heavily modified and cleanedup so as to meet other waveform generation needs.

jahagirdar@github 3 comments

Confluence::REST Thin wrapper around Confluence's REST API

A very thin wrapper around the Confluence REST API. Lets you pass in CQL (Confluence Query Language).

This code is basically JIRA::REST with some tweaks to get it to work with the Confluence REST API.

I'm already using this for some stuff at work, so I can vouch for the basic functionality.

rmloveland@github 0 comments

YAndex::Dictionary APi for Yandex Dictionary

The API is used for getting detailed dictionary entries from the static Yandex.Dictionary. Unlike conventional translation dictionaries, it is compiled automatically using the technologies at the root of the Yandex machine translation system. Yandex.Dictionary entries include the word’s part of speech, and translations are grouped with examples. For English words, the transcription is provided. The service supports a total of 17 language pairs.

jamesroseaxl@twitter 0 comments

AnyEvent::Net::MPD A non-blocking interface for MPD

This is a module to asynchronously talk to an MPD server.

There are a number of MPD libraries on CPAN, but all of them are either blocking (eg. Audio::MPD, Net::MPD) or plugins that depend on a larger framework (eg. POE::Component::Client::MPD, Dancer::Plugin::MPD). Of these, Audio::MPD seems unmaintained, and the POE component depends on Audio::MPD as well.

Net::MPD states an asynchronous interface in its feature wishlist, but it hasn't seen any updates in about a year. An empty repository for Net::MPD::Async exists on the author's Github page, so it doesn't seem like any work has been done on that front.

That was the motivation to write this one.

Apart from a review of the code itself, I would be grateful for any comments on the namespace. I wouldn't want to put this under either Audio::MPD or Net::MPD, since the interface of this module is not like any of those, so it's not really in the same family. For the time being, I chose to go with AnyEvent::Net::MPD since the AnyEvent::Net namespace already seems to have other libraries for the purpose of talking to specific networked services.

There are some example scripts in the t/examples folder.

All comments are most welcome.

jjatria@github 0 comments

Util::one small function to make sure there is only one result

The module provides the function 'one' which assures there is only one element returned in list context from the preceding expression.

I repeat this pattern again and again, checking if the outcome provides only the one thing I search for, where finding none or two or more will be an error, repeating the same checks and the same error messagse over and over. 'one' solves that.

torbjorn@github 4 comments

Dsmadmc IBM TSM Administrative Client perl wrapper

Hello, just wrote a new module, and I think it could be intreresting also for other people. The module is very light and acts as a wrapper to the TSM administrative client. It fires command to TSM server and constucts answers data structures with relevant information in it. It provides methods to read answers without having to care about data structures or data parsing. There are two modules doing similar jobs on CPAN: they are:

The first one is a 2001 mod that seems not maintained anymore. The second one is a DBD driver for DBI. Mine implementation is more similar to first one, in fact I thought that subclassing DBD / DBI would not be worthwhile for such little piece of code, and also because this implementation isn't using a real DB2/TSM Database API but passing command through command line client (exactly like others mod. available). Main differences between above implementation: I provide a way to execute multiple statement in a single connection, to increase efficiency. AFAIK both implementation are doing a connection for each statement. I provide a method to get TSM server version: this could be extremely useful by end user prospective since tsm tables and answers may vary depending on server version. I would like to get it working also on Win32 platform. I also suffer from same known bug than others implementation, since we all charge TSM responses in memory, and in some edge cases we could end up with very big data set loaded into memory. I think I could try to mitigate this in some way.

The module aim is to allow quick reporting and monitoring scripts, efficiently acting as perl data bridge between TSM and user program. My question for you are: do you think it's worthwhile to publish the mod? If yes, which namespace I should choose (TSM seems the best but its already taken, and I want to respect)?

RiccardoMarini@github 1 comment

Yandex::Translate Api for yandex translate

Api can used to translate text using Yandex, It can translate 94 languages. Yandex.Translate (previously Yandex.Translation) is a web service provided by Yandex intended for the translation of text or web pagesinto another language. The service uses a self-learning statistical machine translation, developed by Yandex. The system constructs the dictionary of correspondences based on the analysis of millions of translated texts.

jamesroseaxl@twitter 4 comments

EAV::XS Email Address Validator

This is yet another email address validation module. The main goal is support RFC 6531 (UTF-8 email addresses). And this is default mode of the module.

The major part of the code written in C and there is the separate library called libeav which may be embedded in any application, not just Perl.

Actually, the libeav supports all email address specifications as described in RFC 822, RFC 5321, RFC 5322 and RFC 6531. Also it can be easily modified for your tastes.

This module checks "addr-spec" and does not the "address" specification as many modules does already. See details below:

address = mailbox / group
mailbox = name-addr / addr-spec
addr-spec = local-part "@" domain

gh0stwizard@github 1 comment