in reply to parsing a line

You're almost there! Try the following:

use strict; use warnings; my $abc = <<END; The following ABB products and versions are affected: • ABB Interlink Module: Versions 4.6 through 4.9 • IRC5 OPC Server: Versions up to and including 5.14.01 • PC SDK: Versions up to and including 5.14.01 • PickMaster 3: Versions up to and including 3.3 • PickMaster 5: Versions up to and including 5.13 • Robot Communications Runtime: Versions up to and including 5.14.01 • RobotStudio: Versions supporting IRC5 up to and including 5.14.01 • RobView 5: Works together with other products listed here. • WebWare SDK: Versions 4.6 through 4.9 • WebWare Server: Versions 4.6 through 4.91 END print "$1\n" if $abc =~ /(?:PickMaster 3:\s+)([^\n]+)/s;

Output:

Versions up to and including 3.3

Replies are listed 'Best First'.
Re^2: parsing a line
by frozenwithjoy (Priest) on Nov 19, 2012 at 22:50 UTC
    Substituting print "$1\n" if $abc =~ /PickMaster 3:(.*)/; works, too. Is there any reason not to use it? Seems a lot more readable.

      Yes--much better.

Re^2: parsing a line
by kurtcobain (Novice) on Nov 19, 2012 at 22:49 UTC
    i tried this and it worked. if( $abc =~ /(?:$product\:)\s(\w.+)\s+/) { print $1; } Thanks for the guidance monks