Inline Perl
Revision as of 07:04, 12 May 2005 by 161.253.9.181 (talk)
Batch processing using Perl
The -n
switch in Perl forces the entire program to be interpreted as if in a while(<STDIN>) {}
loop. More or less, this means the program is run once for each line of input, and the current line is in $_
. Use chomp
or a regexp to get rid of the trailing newline.
Here is how one might write ls *.js
using Perl as the filter:
ls | perl -n -e '/^((.*)\.js)$/ or next; print "$1\n"'
To run pod2html
on all .js files in a directory, writing the output for XXX.js to XXX.html, displaying each command used in the process, one could use a command like this:
ls | perl -n -e '/^((.*)\.js)$/ or next; $c="pod2html $1 >> $2"; print "\n$c\n"; print `$c`'