perl extraction of code between comments /* .. */


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting perl extraction of code between comments /* .. */
# 1  
Old 12-28-2011
perl extraction of code between comments /* .. */

Hi,

I am using the following code to retrieve the contents between C-style comments "/* .. */".
Code:
perl -lne 'while(/(\/\*.*?\*\/)/g) {print "$1";}'

This works fine when the commented section of code is present in a single line. But I also need to extract the data which is present inside comments part that span across multiple lines.

Please help me in tweaking the above code to solve my problem.
# 2  
Old 12-28-2011
Code:
$ sed -n '/\/\*/,/\*\//p' infile

# 3  
Old 12-28-2011
If you wanna go with perl:
Code:
perl -lne 'print if (/\/\*/ .. /\*\//)' infile

# 4  
Old 12-28-2011
Quote:
Originally Posted by royalibrahim
...
I am using the following code to retrieve the contents between C-style comments "/* .. */".
Code:
perl -lne 'while(/(\/\*.*?\*\/)/g) {print "$1";}'

This works fine when the commented section of code is present in a single line. But I also need to extract the data which is present inside comments part that span across multiple lines.

Please help me in tweaking the above code to solve my problem.
Your one-liner works only for single-line comments because you are reading your file in line mode. You will have to enable "slurp mode" so as to "slurp" multiple lines that match your regex of interest. Like so -

Code:
$
$
$ cat -n f27
     1  this is line 1
     2  /* a single line comment here */
     3  this is line 3
     4  /* a multi-line comment
     5  over here */
     6  this is line 6
     7  /* and this comment
     8  spans this line
     9  and this one
    10  and this one as well
    11  */
    12  this is line 12
$
$
$
$ perl -lne 'BEGIN {undef $/} while (/(\/\*.*?\*\/)/sg) {print $1}' f27
/* a single line comment here */
/* a multi-line comment
over here */
/* and this comment
spans this line
and this one
and this one as well
*/
$
$

tyler_durden
This User Gave Thanks to durden_tyler For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Perl-extraction using windows cmd

Hi, I need to extract Password expires from the output of windows command print `net user %USERNAME% /domain`; in perl. So i want to redirect the output of this win-cmd to a file and try extracting Password expires along with its value. i'm trying with this code but getting errors. #!usr/bin/perl... (1 Reply)
Discussion started by: sam_bd
1 Replies

2. Shell Programming and Scripting

Looking for guidance (comments) on a piece of code

Hello -- I am trying to learn to do a little sed and awk scripting to search for text and numbers in text files (text processing/manipulation). My professor gave me a piece of uncommented code and I am very unfamiliar w/ the language. Can someone help me with comments so I can understand what is... (2 Replies)
Discussion started by: smithan05
2 Replies

3. Shell Programming and Scripting

Data Extraction problem in perl

Hello, I want to extract the words from a file which starts with SRD-R or SRD-DR. I have written a script which is able to trace the word but it is printing the whole line. sub extract_SRD_tag{ my ($tag, $app, $path, @data, $word ); $path = shift; $app = shift; open (FILE, $path) or... (2 Replies)
Discussion started by: suvendu4urs
2 Replies

4. Shell Programming and Scripting

Data extraction in perl variable

HI, i have variable in perl like below $tmp="/home/sai/automation/work/TFP_GN.txt" it can conatain any path its filled from config file. now i want extarct the path upto this /home/sai/automation/work/ and put it in another variable say... (4 Replies)
Discussion started by: raghavendra.nsn
4 Replies

5. Shell Programming and Scripting

Function extraction in PERL

the log contains mathematical operation as follows fm_void_mathematics : PCM_OP_MATHS input function PIN_FLD_NUM1 INT 1 PIN_FLD_NUM2 INT 2 PIN_FLD_RESULTS int PIN_FLD_OUT INT * D Wed Sep 16 05:40:22 2009 solaris_testing fm_void_add : PIN_FLD_SUM int 3 D Wed Sep 16 05:40:22 2009... (1 Reply)
Discussion started by: vkca
1 Replies

6. Shell Programming and Scripting

Perl function extraction

The log file reads as follows. D function_add() ADD input data 1021214 0 VAR1 STR 10 0 VAR2 STR 20 0 VAR3 STR 1 SUM=VAR1+VAR2 D function_add() ADD output data 1021267 0 DISPLAY SUM D function_sub() SUB input data 1021214 0 VAR1 STR 10 0 VAR2 STR 20 0 VAR3 STR 1 sub=VAR1-VAR2 D... (2 Replies)
Discussion started by: vkca
2 Replies

7. Shell Programming and Scripting

String Extraction in Perl

I have a string stored in a variable. For instance, $str = " Opcode called is : CM_OP_xxx " where xxx changes dynamically and can be either LOGIN or SEARCH..... depends on runtime. For example : $str = " Opcode called is : CM_OP_SEARCH " $str = " Opcode called is : CM_OP_LOGIN " I... (3 Replies)
Discussion started by: vkca
3 Replies

8. Shell Programming and Scripting

Sed script, changing all C-comments to C++-comments

I must write a script to change all C++ like comments: // this is a comment to this one /* this is a comment */ How to do it by sed? With file: #include <cstdio> using namespace std; //one // two int main() { printf("Example"); // three }//four the result should be: (2 Replies)
Discussion started by: black_hawk
2 Replies

9. Shell Programming and Scripting

metapattern extraction in PERL

Hi, I want to extract some part of a pattern that matches my requirement in a string with PERL. A case in point is a string like: $eqtst="abh nmae res = 10 s abh nmae req = 10 s"; from which I want the words preceding the "=" symbol. Previously I was assured that there would be only 2 such... (4 Replies)
Discussion started by: Abhishek Ghose
4 Replies

10. Shell Programming and Scripting

Optimize/speed-up perl extraction

Hi, Is there a way I can extract my data faster. You know my data is 1.2 GB text file with 8Million rows with 38 columns/fields. Imagine how huge this is. How I can optimized the data extraction using perl. That is why I'm creating a script to filter only those informations that I need. Is... (3 Replies)
Discussion started by: pinpe
3 Replies
Login or Register to Ask a Question