Gowri Chandra Sekhar Barla, TLS, Chennai wrote:
From: John W. Krahn [mailto:[EMAIL PROTECTED]
$ 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 thanks for replay, script is working fine
I am unable to understand following expression
s!/\*.*?(?:\*/|$)!!,
Match '/*' followed by zero or more of anything followed by either '*/'
or the end-of-line and replace that with nothing.
I am unable to find the functionality of
1) s!
s!!! (or s///) is the substitution operator.
perldoc perlop
2)?:
?: is the conditional operator.
perldoc perlop
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/