#!/usr/bin/perl $strip = shift if $ARGV[0] eq '-s'; while (<>) { if ( /^Measurement\s+(E\d+M\d+)/i ) { close F or die $! if $fn; open F, ">".($fn="$1.dat") or die $!; } print F if $fn && /\S/ && ( $_ !~ /^[A-Za-z]/ || !$strip ) ; }