$skip is usally for things which don't mean anything to the grammar (ie whitespace). i have the impression that commas are an important part of your protocol, in which case i'd suggest leaving them explicit.
if really want white space and commas to be ignored you could just set $skip to '[\s,]+' or something similar. the other option is to use join to build up your grammar: $grammar .= "proto : " . join(" ',' ", qw(water_temp air_temp ground_temp ...)); but now that i've written it that looks really ugly... -- -Marco Ring the bells that still can ring. Forget your perfect offering. There is a crack in everything. That's how the light gets in. -Leonard Cohen