$stoken = 'STRING'; $ltoken = 'LITERAL'; # sub out literals, strings, and one-line comments s#('([^'\\]|\\.)*') | (L?"([^"\\]|\\.)*") | ((_T|_TEXT)\("([^"\\]|\\.)*"\)) | (/\*([^*]|\*+[^/*])*\*+/) | (//[^\n]*) # ( ( defined $1 || defined $5 ) && $ltoken ) || ( defined $3 && $stoken ) #gexo;