in reply to How to delete conetents between two strings.

Use the Range Operators:
use strict; use warnings; while (<DATA>) { print unless (/\*\*Temp/ .. /\*\*End/); } __DATA__ **Temp** fdvfd fgd dfgd dfgd **End Temp ** this is test dffdgd this is test dffdgd

prints:

this is test dffdgd this is test dffdgd

Update: Please correct the typo in your title: s/conetents/contents/ Nevermind, Anonymous Monk

Replies are listed 'Best First'.
Re^2: How to delete contents between two strings.
by mscharrer (Hermit) on Sep 17, 2008 at 14:14 UTC
    Uuii, the Range Operator in scalar/boolean mode. I just learned this year about it. Very nice solution, toolic.

    In case the Anonymous Monk, or someone else with a similar homework ;-), needs the ** lines included, the feature that '..' in scalar mode returns an increment for every true evaluation and adds 'E0' on the last, can be used:

    #!/usr/bin/perl use strict; use warnings; while (<DATA>) { my $i = (/\*\*Temp/ .. /\*\*End/); print unless ($i && $i > 1 && substr($i, -2) ne 'E0'); } __DATA__ first second **Temp** fdvfd fgd dfgd dfgd **End Temp ** this is test dffdgd this is test dffdgd

    prints:

    first second **Temp** **End Temp ** this is test dffdgd this is test dffdgd