#!/usr/bin/perl # http://perlmonks.org/?node_id=1208242 use strict; use warnings; use List::Util 'uniq'; local $/ = 'Pattern'; print uniq /\b[01X]{7}\n/gm while ; __DATA__ Pattern 0 (full_sequential) Time 0: period = 100 Time 0: force_all_pis = XX00X1X Time 200: force_all_pis = XX1X0X1 Time 400: force_all_pis = XXX1XX0 Time 600: force_all_pis = XXX1XX0 Time 800: force_all_pis = XXX1XX0 Time 940: measure_all_pos =1 Pattern 1 (full_sequential) Time 0: period = 100 Time 0: force_all_pis = XX0XX1X ... rest not shown ...