in reply to POD Figlet titles
A couple minor points. First, "! -z" is more commonly known as "-n". Second, if you're running perl from the commandline anyway, use lib is usually called -I, while all other uses are called -M. And rather than dealing with lots of annoying quotes, just pass in your parameters.
Unlike in perl where quoting a variable is a waste of time, in shell it's imperative to keep any embedded spaces unchanged. Having moved your variables from inside the perl code to purely in shell, I need to keep the quotes - but I can get rid of leaning toothpick syndrome (LTS). And then I can switch your double quotes to single quotes and now I think the whole command is much easier to look at. Personally, I would have made the whole thing just a perl script to begin with:figlet() { local que=$1 local fu=timesofl if [ -n "$2" ] then local fu=$2 fi; if [ -n "$que" ] then perl -I$HOME/path/to/installed/FIGlet.pm -MText::FIGlet -e 'pr +int Text::FIGlet->new(-f=>$ARGV[0])->figify(-A=>$ARGV[1])' "$fu" "$qu +e" fi; }
Of course, I'd add more comments and whatever. ;-)#!/usr/bin/perl use lib "..."; # probably not really needed. use Text::FIGlet; my $figlet = Text::FIGlet->new(-f => $ARGV[1] || 'timesofl'); print $figlet->figify(-A => shift);
|
|---|