> $dbh = DBI->connect('DBI:mysql:test:localhost', '','') or die $DB
> I::errstr;
>
> 도체 여기서..
> connect는 여기 있는 글을 읽으니깐 대충이해가 가는데요..
> ('DBI:mysql:test:localhost', '','') 요부분을 좀 알수가 없는거 같네요..
>
> DBI:mysql:test:localhost', '','')가 뭘 의미 하는지 알려주세요.
> 어떤걸 가리키는 건지두 모르겠구 어디에 어떻게 쓰이는줄도 모르겠어요.
Perl 에서 DBI 모듈에는 거의 모든 DBMS 에 대해서 다 갖추어져 있습니다.
MySQL 의 DBI 모듈은 가르킬때 DBI:mysql 이런식으로 지칭을 하지요.
그리고 그뒤의 자료들은 모두 DBI 모듈 호출시 전달되는 인자랍니다.
localhost 라는 host에 있는 test 라는 database 로 접속 하라는 뜻이지요.
> 글구 or die $DBI::errstr; 요건 또 어디에 쓰이는건쥐.
> ^^
> 엉뚱하지만 잘갈쳐주세요.
>
이것은 or 라는 연산자를 evaluation 할때 방식을 이용한 문법입니다.
A or B 이러면 A 가 참이라면 뒤쪽의 B 는 검사하지 않고 바로 다음 라인으로 계속 진행합니다. (하나가 참이면 어차피 뒤의 조건문에 상관없이 참이 되기 때문이지요)
그런데 A 가 거짓이라면 (위의 경우 앞의 DBI:mysql:test:localhost 로의 접속이 실패한 경우겠지요. 이때 false 를 돌려 주기 때문입니다) 뒤의 문장을 실행하게 됩니다. 즉 앞이 거짓이므로 뒷쪽도 실행해서 evaluation 을 해 봐야 A or B 라는 구문이 참인지 거짓인지 알수 있기 때문이지요.
하지만 위 예제의 경우 B 구문을 실행하는 순간 die 라는 명령어를 만나 프로그램 실행을 종료하게 되어 있지요.
즉 localhost 에 있는 MySQL 의 test 데이터베이스로 접속해 보고 실패하거든 프로그램 실행을 종료하라는 것입니다.
|