my $sub_contract="SILICONEXsiliconex-wafers ^M NOTE1-- a shipment in ^M backlog calc note for the shipping dates the contract is delivered "; my $pattern = "SILICONEX((?i)siliconex-wafers)"; if ($sub_contract =~ /$pattern/) { $sub_contract =~ s/(?m:(\^M|--))/ /g; my ($shipment_note, $sub_contract_keynote ) = reverse split(/(?i)NOTE/ ,$sub_contract); print "[ $sub_contract_keynote ] [ $shipment_note ]\n"; } __END__ [ for the shipping dates the contract is delivered ] [ 1 a shipment in backlog calc note ]