lunaboy
asked on
substitution
I have an HTML file with comments like:
<!-- cgi:SOMETHING -->
I want to parse that file under two conditions. The first condition will replace those comments with data like($buffer contains the entire HTML file):
$buffer =~ s/<!-- cgi:SOMETHING -->/$my_data/g;
The other instance of parsing this file get rid of those comments alltogether. So I want to parse $buffer and anywhere it sees a comment, it replaces it with nothing. However, the SOMETHING in the comment will be different for each comment, so how would I write the substitution command to replace all comments with nothing?
-Mike K.
<!-- cgi:SOMETHING -->
I want to parse that file under two conditions. The first condition will replace those comments with data like($buffer contains the entire HTML file):
$buffer =~ s/<!-- cgi:SOMETHING -->/$my_data/g;
The other instance of parsing this file get rid of those comments alltogether. So I want to parse $buffer and anywhere it sees a comment, it replaces it with nothing. However, the SOMETHING in the comment will be different for each comment, so how would I write the substitution command to replace all comments with nothing?
-Mike K.
ASKER
no, that deletes all the lines that contain comments... I just need to delete the comments themselves...
ASKER
no, that deletes all the lines that contain comments... I just need to delete the comments themselves...
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Will the comments have any particular structure such as potentially including embedded HTML then you have a little problem. My concern is that you will end your replacement before you need to. Also, will there be any escape characters?
ASKER
pitonyak - The comments will only be like:
<!-- cgi: SOMETHING -->
where SOMETHING is any single word. It's used for a template. The script parses the HMTL file, replaces the comments with the appropriate data, and prints it. However, I have another script that I wanted to print the same HTML without the dynamic data. So I wanted that script to replace all those comments with nothing.
PC User321 answered correctly, he will get the points this time.
-Mike K.
<!-- cgi: SOMETHING -->
where SOMETHING is any single word. It's used for a template. The script parses the HMTL file, replaces the comments with the appropriate data, and prints it. However, I have another script that I wanted to print the same HTML without the dynamic data. So I wanted that script to replace all those comments with nothing.
PC User321 answered correctly, he will get the points this time.
-Mike K.
$buffer =~ s/<!--(.|\n)*-->//g;