http://www.perlmonks.org?node_id=863219


in reply to Re^2: Command-line arguments to command-line Perl
in thread Command-line arguments to command-line Perl

This seems to be working
cat test 1 2 3 4 5 perl -pe 'BEGIN{$prefix=pop;}s/(\d+)/$prefix.$1/' test A A.1 A.2 A.3 A.4 A.5

Replies are listed 'Best First'.
Re^4: Command-line arguments to command-line Perl
by RecursionBane (Beadle) on Oct 04, 2010 at 04:57 UTC

    Thank you, suhailck!

    This tactic worked for me; I'd never have thought to use BEGIN() to stall the argument preprocessor until specific args could be gathered before allowing the program to proceed (and thereby still keeping the ability to auto-parse all supplied files "in-line")!

    This is what my one-liner now looks like:

    perl -pi -e 'BEGIN {$design = pop}; s/'def'.*''/\t"def" => "dumper\/$design.def",/g' ConfigFile ADCIF

    The main advantage here is that I can supply "ConfigFile1 ConfigFile2 ... ConfigFileN ADCIF" (or, indeed, "ConfigFile* ADCIF") to have the change applied to all of them. Thanks again for your solution!

    ~RecursionBane