Gowri Chandra Sekhar Barla, TLS, Chennai wrote:

From: John W. Krahn [mailto:[EMAIL PROTECTED]

Gowri Chandra Sekhar Barla, TLS, Chennai wrote:

Can any one please give the scripting for appending line numbers for
the code lines

For example:

/* requesting for the script
 * for printing line number */

Fun_script()
{
 Int a; /* local parameter */
 Int b; /* local parameter */
/* adding the Two numbers */
   Int c = a+b;

 }/* function end */


Output should be:

/* requesting for the script
 * for printing line number */

1 Fun_script()
2 {
3  Int a; /* local parameter */
4  Int b; /* local parameter */
/* adding the Two numbers */
5   Int c = a+b;

 6}/* function end */

$ echo "

/* requesting for the script
  * for printing line number */

Fun_script()
{
  Int a; /* local parameter */
  Int b; /* local parameter */

        /* adding the
           Two numbers */
    Int c = a+b;

  }/* function end */

" | perl -e'
my $count;
while ( <> ) {
     my $temp = $_;
     s!/\*.*?(?:\*/|$)!!, s!(?:^|/\*).*?\*/!!, s/^\s+//, s/\s+$// for
$temp;
     print length $temp ? ++$count . " $_" : $_;
     }
'

/* requesting for the script
  * for printing line number */

1 Fun_script()
2 {
3  Int a; /* local parameter */
4  Int b; /* local parameter */

        /* adding the
           Two numbers */
5    Int c = a+b;

6  }/* function end */

Hi thanks for your replay
I missed out one thing I don't want line numbers in front of these stars

/* xxyxyxyxyxyxyxyyxyx
 * yyyyyyyyyyyyyyyyyyyy
 * yyyyyyyyyyyyyyyyyyyyyy
* zzzzzzzzzzzzzzzzzzzzzzz */

But the script given by u working fine except above condition

And I am unable to understand the expression s!/\*.*?(?:\*/|$)!!,

$ echo "
/* requesting for the script
 * more
 * and more
 * for printing line number */

Fun_script()
{
 Int a; /* local parameter */
 Int b; /* local parameter */

       /* adding the
          Two numbers */
   Int c = a+b;

 }/* function end */

" | perl -e'
my ( $count, $in_comment );
while ( <> ) {
    my $temp = $_;
    s!/\*.*?\*/!!g;
    s!/\*.*?$!! and $in_comment++;
    $in_comment and s!^.*?\*/!! and $in_comment--;
    $in_comment and s/.*//;
    s/^\s+//;
    s/\s+$//;
    print length() ? ++$count . " $temp" : $temp;
    }
'

/* requesting for the script
 * more
 * and more
 * for printing line number */

1 Fun_script()
2 {
3  Int a; /* local parameter */
4  Int b; /* local parameter */

       /* adding the
          Two numbers */
5    Int c = a+b;

6  }/* function end */




John
--
Perl isn't a toolbox, but a small machine shop where you
can special-order certain sorts of tools at low cost and
in short order.                            -- Larry Wall

--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/


Reply via email to