B.4 CLI Now Allows Individual Line Processing

 <  Day Day Up  >  

The PHP 5 command-line version now allows individual line processing, similar to Perl and awk.

Use these flags on the command line to alter PHP's behavior:


-B

Run this code before processing the file. This is similar to auto_prepend_file .


-R

Run this code on each line of the file.


-E

Run this code at the end of processing the file. This is similar to auto_append_file .

The contents of the current line are available in $argn . This simple example prints each line of example.txt :

 $ php -R 'print "$argn\n" ;' < example.txt  1   2   3   4   5  

The current line number is stored in $argi . The first line of the file is line 1 (not 0). So, to print out select lines of a file, do this:

 $ php -B '$start = 2; $stop = 4;' -R 'if ($argi >= $start &&   $argi <= $stop) print "$argn\n";' < example.txt  2   3   4  

Modifying standard input disrupts the flow. For instance:

 $ php -R 'print fgets(STDIN);' < example.txt  2   4  

Using the -R flag causes PHP to read in one line from standard input. Therefore, when you call fgets( ) , you read in a second line. This results in "missing" lines because both PHP and you are processing the file.

 <  Day Day Up  >  


Upgrading to PHP 5
Upgrading to PHP 5
ISBN: 0596006365
EAN: 2147483647
Year: 2004
Pages: 144

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net