Men in uniform and civilian clothes drove into a poor suburb before dawn yesterday, pulled 23 people from their homes and shot them dead in the street, witnesses said. Seven more people were slain in their homes in front of their families, they said.

A Defense Ministry spokesman said the shooting came in an exchange that broke out when an Army patrol was fired upon. He said four soldiers were killed in the clash.

When reporters arrived in the suburb of Monte Carmelos, 23 bodies ripped by automatic weapons fire were strewn for 100 yards. Two homes were burned, apparently by fires started by bazooka rounds.

"It was the National Guard, and police," shouted several residents.

The street where the victims were slain ran with blood and the victims, presumed to be leftist suspects, were disfigured by large-caliber slugs pumped into their heads and chests. One young boy said he saw a masked man in civilian clothes pointing out homes from which victims were dragged.

He said that after the masked man pointed out a house, uniformed men went to its door, knocked, and after a few seconds one or two people were dragged out. Area residents said the seven victims shot in their homes refused to come out, so they were slain on the spot, in front of their families.

The killings were the latest in the left-right political struggle that has claimed an estimated 18,000 lives since President Carlos Humberto Romero was ousted by a junta in October 1979. Authorities reported that 18 others were killed in political violence over the latest 24-hour period.