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.
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.
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.
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
All comments are most welcome.
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.
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)?
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.
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.
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
Lab::Zhinst XS bindings to the LabOne API of Zurich Instruments
So far the only languages to interface with Zhinst devices were Matlab, Python, LabVIEW, .NET and C.
This module adds the desperately needed Perl interface and will allow us to write high-level Lab::Measurement drivers.
My first XS code...
Any feedback appreciated!
Update: Now uploaded to CPAN:
Linux::Shadow Access to the libc shadow routines
Perl gives access to the user's shadow password itself via getpw*, but the rest of the shadow entry is not available (expire is theoretically available if compiled that way, but it isn't universal). This module provides a Perl interface to the shadow routines getspnam, getspent, setspent and endspent, allowing the full shadow password structure to be returned. Like all access to the shadow files, root privileges are required to return anything - non-root users get nothing.