在清單內容中,傳回一個清單值,包含 LIST 中元素的相反順序。在純量內容中,串接 LIST 的元素,並傳回一個字串值,其中所有字元順序相反。
print join(", ", reverse "world", "Hello"); # Hello, world
print scalar reverse "dlrow ,", "olleH"; # Hello, world
$_ = "dlrow ,olleH";
print reverse; # No output, list context
print scalar reverse; # Hello, world
請注意,將陣列反轉到自身(例如 @a = reverse @a
)會盡可能保留不存在的元素;亦即,對於非魔法陣列或具有 EXISTS
和 DELETE
方法的繫結陣列。
這個運算子也可用於反轉雜湊,儘管有一些警告。如果在原始雜湊中重複一個值,則其中只有一個可以表示為反轉雜湊中的鍵。此外,這必須解開一個雜湊並建立一個全新的雜湊,這可能需要一些時間才能處理大型雜湊,例如來自 DBM 檔案的雜湊。
my %by_name = reverse %by_address; # Invert the hash