CentOS 6.4를 사용하고 있으며 "foomatic-configure"를 사용하여 정보를 인쇄하려고 하는데 몇 가지 이상한 오류가 발생합니다.
펄: v5.10.1
foomatic: foomatic-4.0.4-1.el6_1.1.i686
명령줄:
foomatic-configure -r -P -q
다음과 같은 경고가 발생합니다.
Use of uninitialized value $manufacturer in string eq at /usr/share/perl5/vendor_perl/Foomatic/DB.pm line 354.
Use of uninitialized value $model in string eq at /usr/share/perl5/vendor_perl/Foomatic/DB.pm line 355.
Use of uninitialized value in split at /usr/share/perl5/vendor_perl/Foomatic/DB.pm line 2147.
Use of uninitialized value $d in hash element at /usr/share/perl5/vendor_perl/Foomatic/DB.pm line 1143.
Use of uninitialized value in regexp compilation at /usr/share/perl5/vendor_perl/Foomatic/DB.pm line 1146.
Use of uninitialized value in pattern match (m//) at /usr/share/perl5/vendor_perl/Foomatic/DB.pm line 1146.
Use of uninitialized value in pattern match (m//) at /usr/share/perl5/vendor_perl/Foomatic/DB.pm line 1189.
Use of uninitialized value in pattern match (m//) at /usr/share/perl5/vendor_perl/Foomatic/DB.pm line 1191.
Use of uninitialized value in pattern match (m//) at /usr/share/perl5/vendor_perl/Foomatic/DB.pm line 1193.
Use of uninitialized value in pattern match (m//) at /usr/share/perl5/vendor_perl/Foomatic/DB.pm line 1195.
Use of uninitialized value in pattern match (m//) at /usr/share/perl5/vendor_perl/Foomatic/DB.pm line 1197.
Use of uninitialized value in pattern match (m//) at /usr/share/perl5/vendor_perl/Foomatic/DB.pm line 1199.
Use of uninitialized value in hash element at /usr/share/perl5/vendor_perl/Foomatic/DB.pm line 1249.
무슨 일이야? ? ?
올바른 데이터가 포함된 Perl 해시를 받았지만 $QUEUES[0]
오류 메시지는 없습니다...
고쳐 쓰다:
다음을 사용하여 이러한 메시지를 억제할 수 있는 것 같습니다.
foomatic-configure -P -q -r 2>/dev/null
하지만 하면 안되는 일인데...
답변1
guessmake()
처음 두 개의 경고는 function 에 나타납니다 Foomatic::DB
. 코드 경로를 보면, $manufacturer
and는 $model
항상 정의되어 있지 않으므로 eq
여기서 비교하는 것은 의미가 없지만 노이즈 외에는 무해합니다. 다른 경고는 읽지 않았습니다.
이 문제를 "수정"하는 가장 쉬운 방법은 모든 경고가 비활성화되도록 -w
shebang에서 옵션을 제거하는 것 입니다. foomatic-configure
하지만 관리자에게 버그 보고서를 작성하는 것이 더 좋습니다.