You are here

malformed expression word??

tcl 초보자 입니다.
두가지 질문이 있습니다.
답변부탁드립니다.

1.
set a abcde
if {regexp ^a $a}{
puts $a}

위와 같은 간단한 스크립트가 짰을때 malformed expression word("if" test expression) 이란 에러메시지가 뜹니다.
이유와 해결책을 좀 설명해주시면 감사하겠습니다.

2. 또 한가지는 regexp내에 정규표현식 사용 방법이 궁금합니다. 텍스트 파일이 아래와 같다면 스크립트의 regexp 내부 정규 표현식은 어떻게 고쳐야할까요?
#aa
ab
cd
ef
$YY

스크립트:
set input [open aa r]

while { [gets $input line] >= 0 } {
if {[regexp ^$.* $line]}{
puts $line}
}