Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!wuarchive!udel!haven!adm!cmcl2!kramden.acf.nyu.edu!brnstnd From: brnstnd@kramden.acf.nyu.edu (Dan Bernstein) Newsgroups: comp.lang.perl Subject: Re: Matching parentheses Message-ID: <13858:Nov3016:23:4790@kramden.acf.nyu.edu> Date: 30 Nov 90 16:23:47 GMT References: <16600@csli.Stanford.EDU> <5209:Nov2909:58:4190@kramden.acf.nyu.edu> <12435:Nov3011:26:5990@kramden.acf.nyu.edu> Organization: IR Lines: 16 In article <12435:Nov3011:26:5990@kramden.acf.nyu.edu> brnstnd@kramden.acf.nyu.edu (Dan Bernstein) writes: > #!/bin/sh > ( echo '0'; fold -1 | sed 's,[^()],, > s,(,1+p, > s,),1-p,' ) | dc | ( grep -s -e - && echo 'unbalanced' || echo 'balanced' ) Whoops, thanks to William Setzer for pointing out that this doesn't notice missing close parens. #!/bin/sh ( echo '0'; echo '0'; fold -1 | sed 's,[^()],, s,(,1+p, s,),1-p,' ; echo '-p' ) | dc | ( grep -s -e - && echo 'unbalanced' || echo 'balanced' ) ---Dan