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
News
-
Another New Linux Laptop has Arrived
Slimbook has released a monster of a Linux gaming laptop.
-
Mozilla VPN Now Available for Linux
The promised subscription-based VPN service from Mozilla is now available for the Linux platform.
-
Wayland and New App Menu Coming to KDE
The 2021 roadmap for the KDE desktop environment includes some exciting features and improvements.
-
Deepin 20.1 has Arrived
Debian-based Deepin 20.1 has been released with some interesting new features.
-
CloudLinux Commits Over 1 Million Dollars to CentOS Replacement
An open source, drop-in replacement for CentOS is on its way.
-
Linux Mint 20.1 Beta has Been Released
The first beta of Linux Mint, Ulyssa, is now available for downloading.
-
Manjaro Linux 20.2 has Been Unleashed
The latest iteration of Manjaro Linux has been released with a few interesting new features.
-
Patreon Project Looks to Bring Linux to Apple Silicon
Developer Hector Martin has created a patreon page to fund his work on developing a port of Linux for Apple Silicon Macs.
-
A New Chrome OS-Like Ubuntu Remix is Now Available
Ubuntu Web looks to be your Chrome OS alternative.
-
System76 Refreshes the Galago Pro Laptop
Linux hardware maker has revamped one of their most popular laptops.