http://qs321.pair.com?node_id=11130665


in reply to grep only lines having matched pattern

The approach does depend on how your input data varies, but the below will work for your example.
use strict; use warnings; for my $line (<DATA>) { print $line if $line =~ /^\d{2}-\d{2}-\d{4}\s/; } __END__ 03-15-2021-1 21.1.0-s103 2021/03/15:14:16:39 21.1 21.10-s103 03-15-2021-2 21.1.0-s103 2021/03/15:14:16:39 21.1 21.10-s103 03-15-2021 21.1.0-s102 2021/03/15:04:00:09 21.1 21.10-s102