Hi, Thanks for your comments. One more small doubt i have.
here is the input data
<input>
This is to test. this is to test
<p>This is to test. This is
to test</p>
<p>This is to test. This is
to test</p>
This is to test.
this is to test
</input>
<output>
This is to test. this is to test
<p>This is to test. This is to test</p>
<p>This is to test. This is to test</p>
This is to test.
this is to test
</output>
i.e. i want to make the <p>...</p> as single line. i mean delete the carrage returns only inside <p>...</p>
my following code does the job, but only for the last <p>...</p>. i don't know how to loop it here. pls suggest
$infile = $ARGV[0];
open(IN, '<', "temp.in") || die "\nCan't open temp.in \n";
open(OUT, '>' "temp.out");
$/="";
while(<IN>)
{
if($_=~s/(.*)<p>(.*)\<\/p\>(.*)//ms)
{
$pre = $1;
$par = $2;
$pos = $3;
$par=~s#\n# #ig;
print OUT "$pre<p>$par\<\/p\>$pos";
}
}
close(IN);
close(OUT);
Note:
also please let me know how to include the source code in this page, any special tags for that? i mean the code formatting is often getting messed when i post
edited by ybiC: Reformatted to avoid lateral scrolling in browser window - balanced <code>tags around example input+output and code |