in reply to Re: Regex Question
in thread Regex Question

I would prefer to split into lines first and then extracting the data:

use strict; use warnings; my $cell = <<EOT; 1. Network-Time, Protocol: TCP, Source Port: 0-65535, Destination + Port: 13-13 2. Network-Time-1, Protocol: UDP, Source Port: 0-65535, Destination Po +rt: 13-13 3. Network-Time-2, Protocol: TCP, Source Port: 0-65535, Destination Po +rt: 37-37 4. Network-Time-3, Protocol: UDP, Source Port: 0-65535, Destination Po +rt: 37-37 5. Network-Time-4, Protocol: UDP, Source Port: 0-65535, Destination Po +rt: 123-123 EOT my @svcDesc = map { s/.*(TCP|UDP).*?Destination Port: ([0-9]+).*/$1:$2 +/; $_ } split /\n/, $cell; print "@svcDesc\n";