Perak, Penang and Perlis storm into semi-finals