如何使用Perl函數返回布爾值和字符串?如何在Perl中用字符串返回false?
例如,我使用正則表達式來查找字符串中的某些內容。如果找到,則返回true並將值賦給$ msg,否則返回false並將另一個值賦給$ msg。
現在我想通過「return($ result,$ msg);」返回$ result(boolean)和$ msg(String),並且它的驗證工作。我想知道這樣做是好事還是有更好的辦法?我不想讓其他人在查看我的代碼時感到困惑。
use constant { true => 1, false => 0 };
my $output = "hello world";
my $msg;
my $result;
sub is_string_found
{
if ($output =~ /hello/;)
{
$msg = "string is found";
$result = true;
}
else
{
$msg = "string is not found";
$result = false;
}
return ($result, $msg);
}
如果有一個一一對應的消息和結果,然後最好只返回布爾值,並在別處處理消息 - 一個輔助函數,如果它被使用了很多。 – muhmuhten
這樣說,'true'和'false'實際上並不存在於perl中。 – muhmuhten
我可能不會有找到字符串的功能,如果它找到或不是,它會決定什麼顯示的實體。通常情況下,你只需要返回true/false(或1/0或其他),然後讓調用者向上遊處理用戶決定顯示字符串的內容。 – lurker