Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Системное программирование > Как проверить в перле что строка не пустая?


Автор: Exion 12.11.2005, 18:13
Есть массив строк, причем некоторые пустые. Как проверить что строка пуста?

Автор: Exion 12.11.2005, 18:28
Все, сделал smile

Автор: korob2001 15.11.2005, 04:56
На всякий случай:
Это пожалуй лучший вариант.
Код

unless ( $str ) {
       # Делаем что-то, если строка пустая
} else {
       # Делаем что-то, если строка не пустая
}

Можно конечно проверять длину строки, но это не есть лучший подход:
Код

if ( length( $str ) > 0 ) {
     # СТРОКА НЕ ПУСТАЯ
} else {
     # СТРОКА ПУСТАЯ
}

Можно сравнивать как строку:
Код

if ( $str eq "" ) {
     # Строка пустая
} else {
     # Строка не пустая
}

Можно по определённому значению, только нужно обратить внимание, что это не одно и то же, что и первый вариант. Пустая строка, это определённое значение.
Код

if ( defined $str ) {
     # Определённое значение
} else {
     # не определённое значение
}

Ну и конечно же регулярными выражениями:
Код

if ( $str =~ /^$/ ) {
     # Строка пустая
} else {
     # Строка не пустая
}

Есть и ещё варианты, например со split, но это уже извращения, потому оставим это. smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)