my $str = "1\n2\n3\n4"; my @tokens = split( /\n/, $str ); # now tokens contain # ( "1", "2", "3", "4" ), NOT ( "1\n", "2\n", "3\n", "4\n" ) #### my $para = ..... # whatever. # so $para is ( possibly ) a multi-line parameter my $first_line_break = index( $para, "\n" ); if( $first_line_break > 0 ) { $lastHeading = substr( $para, 0, $first_line_break ); next; } if( $para =~ /mSOriginating/ && $para =~ /$msisdn/ ) { print $para; }