код:
# A:
$dbh->do(qq/insert into foo(cl) values('test')/);
# B:
$dbh->do(qq/insert into foo(cl) values('test')/) or warn $dbh->errstr;
# C:
eval { $dbh->do(qq/insert into foo(cl) values('test')/); };
warn "error : $@ " if $@;
Все будут выводить:
DBD::mysql::db do failed: Duplicate entry 'test' for key 'cl' at a.pl line 9.
Я не хочу, чтобы это произвольное предупреждение / сообщение об ошибке отправлялось на stderr. Я хотел бы использовать warn $dbh->errstr
.
perl a.pl 2>/dev/null
подавит сообщение об ошибке, но я хочу знать, как это сделать в сценарии?