#!/usr/bin/perl while( <$ARGV[0]>) { open( IN, "<$_" ); while () { if ( /begin \d+\s+(\S+)/ ) { $fileName = $1; open ( OUT, ">$fileName" ); } print OUT unpack("u",$_) if /^[MC]/; } } close OUT;