답변:
문자열이 Perl에 저장되는 방식으로 인해 문자열 길이를 가져 오는 것이 최적화됩니다.
if (length $str)
문자열이 비어 있지 않은지 확인하는 좋은 방법입니다.
아직에 대해 보호하지 않은 상황에있는 경우 undef
경고하지 않는 "비어 있지 않은"항목은 if (defined $str and length $str)
.
if (length($str))
좋은 접근 방식이며 변수가 정의되지 않은 경우 실패하지 않기 때문에 찬성되었습니다 .
이미 여러 사람이 언급했듯이 eq
했듯이은 여기에서 올바른 연산자입니다.
use warnings;
스크립트에있는 경우 이에 대한 경고 (및 기타 많은 유용한 정보)가 표시됩니다. 나도 추천 use strict;
합니다.
use strict
하지만 이전 코드를 업데이트하고 있으므로 이것을 추가하면 수백 개의 오류가 발생합니다. 아마도 언젠가 고칠 것입니다.
CPAN을 사용하는 것 외에 어떤 일을하는 "적절한"방법이라는 개념은 Perl에 존재하지 않습니다.
어쨌든 그것들은 숫자 연산자입니다.
if($foo eq "")
또는
if(length($foo) == 0)
if ($foo == "")
예를 들어,이다 결정적 잘못 하지 않는 한 여부를 테스트 할 실제로 평균 $foo
(이 경우에는 것, 0의 값이 숫자 맥락에서 평가, 여전히 더 잘 쓸 수 if ($foo == 0)
즉 더 명확하게 표현으로, 당신의 의지).