Here’s variation on trippledubs’ solution using the 3-dot form of the flip-flop operator:
#! perl
use strict;
use warnings;
my $re = qr{^//\*+$};
while (<DATA>)
{
if (my $seq = /$re/ ... /$re/)
{
if ($seq > 1 && $seq !~ /E0$/)
{
print if m{^//\s*\S+};
}
}
}
__DATA__
// useless comment
Some Code
//**********************************************************
//
//I need that text
// And that also
//
//**********************************************************
Some Code
// useless comment
//**********************************************************
// More text
//**********************************************************
More code
Update: Changed print unless m{^//$}; to print if m{^//\s*\S+}; to filter-out non-comment lines.
Output:
1:25 >perl 1128_SoPW.pl
//I need that text
// And that also
// More text
1:25 >
Hope that helps,