#!/usr/bin/perl use 5.014; # 990400 # all global; too lazy to work hard on OP's code my ($line, $ind, $port, $speed, $link); while () { $line = $_; if ( $line =~ /\bup\b/ ) { print "port is ", $port, substr($line,1,2). ", "; print "speed is ", $speed, substr($line,7,5). ", "; print "link is ", $link, substr($line,42,4)."\n"; } } # NB Port 10 Link status changed to "up" (and indented as in Port 19) __DATA__ ------------------------------------------------------------------ Port Speed Duplex Flow Ctrl Link Name ---- ----- -------- --TX-----RX-- ------ ------ 1 10000 full no no down 1 2 10000 full no no down 2 3 10000 full no no down 3 4 10000 full no no down 4 5 10000 full no no down 5 6 10000 full no no down 6 7 10000 full no no down 7 8 10000 full no no down 8 9 10000 full no no down 9 10 10000 full no no up 10 11 10000 full no no down 11 12 10000 full no no down 12 13 10000 full no no down 13 14 10000 full no no down 14 15 10000 full no no down 15 16 10000 full no no down 16 17 1G/10G full no no down 17 18 1G/10G full no no down 18 19 1000 full no no up 19 20 10000 full no no down 20