if (!/end_item/) { if(/begin_item/) { while (!/end_item/) { ...deal with data members here... } } } else { ... print or die an error message here about an end_item without begin ... }