Recent additions to CPAN
Invisible Servants
Perl programmers who upload a module or script to CPAN, often forget to specify the dependencies on other CPAN modules. Consequently, the installation fails for all users who do not already have the dependent modules on their systems by lucky coincidence. The CPAN Module::ScanDeps module [6] contains the scandeps.pl
script, which expects a script or module as an argument and outputs the dependencies for it.
Applied to the script presented in Listing 3, the output of:
scandeps.pl make2viz
looks like Figure 4. Who would have thought that deep in the belly of GraphViz::Makefile the IPC::Run::Win32Helper module has an important role as part of the digestive system? Linux systems are undoubtedly ill-advised to integrate this; if it were missing on the installation platform, however, Perl would abort the script in the compile phase because it can't find the seemingly required module.
Multiple-Course Meal
In many command-line utilities, the programmer expects some input by selection from a list of items by the user. For Perl scripts, CPAN offers several text terminal menu simulations. In the list of new module versions that I reviewed, my attention was grabbed by Term::Menus [7]; it offers a convenient programming interface for cases in which the user needs to select an entry from a potentially large list.
Listing 4 shows an example of a script in which the user has to select a file from his home directory. Failure to clean up for many years has led to no fewer than 73 files on my Linux box at home. They are unlikely to fit in a terminal window. As Figure 5 shows, Text::Menus displays 10 items at a time and allows the user to press D to scroll down and U to scroll up through the list.
Listing 4
menu

By entering a number, the user finally selects an entry. In the menu
script in Listing 4, this is then returned as result of the pick()
function in the $selection
variable. Term::Menus offers more features on top of that, such as multiple choices or submenus. These are all very handy when you consider that script programmers only need to invest in a few lines of code for this.
Finding Nuggets
A cursory review of the CPAN Recent list shows that it really is worthwhile panning for gold there. In addition to routine maintenance releases of popular modules, you will repeatedly find good ideas for more programming efficiency or entertaining information from the world of a lively Perl community glistening on the bottom of your pan.
"Zarathustra seeks creative collaborators; Zarathustra seeks fellow harvesters and celebrators: What has he to do with herds and herdsmen and corpses!"
Infos
- Recent CPAN module versions: http://search.cpan.org/recent
- Speech::Google::TTS: http://search.cpan.org/~nielsd/Speech-Google-TTS-074/
- Listings for this article: ftp://www.linux-magazin.com/pub/listings/magazine/160
- GraphViz::Makefile: http://search.cpan.org/~srezic/GraphViz-Makefile-1.17
- Makefile tutorial: http://mrbook.org/tutorials/make
- Module::ScanDeps: http://search.cpan.org/~rschupp/Module-ScanDeps-1.12/
- Term::Menus: http://search.cpan.org/~reedfish/Term-Menus-2.54/
« Previous 1 2
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Direct Download
Read full article as PDF:
Price $2.95
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
News
-
An All-Snap Version of Ubuntu is In The Works
Along with the standard deb version of the open-source operating system, Canonical will release an-all snap version.
-
Mageia 9 Beta 2 Ready for Testing
The latest beta of the popular Mageia distribution now includes the latest kernel and plenty of updated applications.
-
KDE Plasma 6 Looks to Bring Basic HDR Support
The KWin piece of KDE Plasma now has HDR support and color management geared for the 6.0 release.
-
Bodhi Linux 7.0 Beta Ready for Testing
The latest iteration of the Bohdi Linux distribution is now available for those who want to experience what's in store and for testing purposes.
-
Changes Coming to Ubuntu PPA Usage
The way you manage Personal Package Archives will be changing with the release of Ubuntu 23.10.
-
AlmaLinux 9.2 Now Available for Download
AlmaLinux has been released and provides a free alternative to upstream Red Hat Enterprise Linux.
-
An Immutable Version of Fedora Is Under Consideration
For anyone who's a fan of using immutable versions of Linux, the Fedora team is currently considering adding a new spin called Fedora Onyx.
-
New Release of Br OS Includes ChatGPT Integration
Br OS 23.04 is now available and is geared specifically toward web content creation.
-
Command-Line Only Peropesis 2.1 Available Now
The latest iteration of Peropesis has been released with plenty of updates and introduces new software development tools.
-
TUXEDO Computers Announces InfinityBook Pro 14
With the new generation of their popular InfinityBook Pro 14, TUXEDO upgrades its ultra-mobile, powerful business laptop with some impressive specs.