- reverse LIST
-
In list context, returns a list value consisting of the elements of LIST in the opposite order. In scalar context, concatenates the elements of LIST and returns a string value with all characters in the opposite order.
リストコンテキストでは、LIST を構成する要素を逆順に並べた リスト値を返します。 スカラコンテキストでは、LIST の要素を連結して、 全ての文字を逆順にした文字列を返します。
print join(", ", reverse "world", "Hello"); # Hello, world print scalar reverse "dlrow ,", "olleH"; # Hello, world
スカラコンテキストで引数なしで使うと、reverse は
$_
を逆順にします。$_ = "dlrow ,olleH"; print reverse; # No output, list context print scalar reverse; # Hello, world
Note that reversing an array to itself (as in
@a = reverse @a
) will preserve non-existent elements whenever possible; i.e., for non-magical arrays or for tied arrays withEXISTS
andDELETE
methods.(
@a = reverse @a
のように) 反転した配列を自分自身に代入すると、 存在しない要素は可能なら(つまりマジカルでない配列やEXISTS
とDELETE
メソッドがある tie された配列) いつでも保存されることに注意してください。This operator is also handy for inverting a hash, although there are some caveats. If a value is duplicated in the original hash, only one of those can be represented as a key in the inverted hash. Also, this has to unwind one hash and build a whole new one, which may take some time on a large hash, such as from a DBM file.
この演算子はハッシュの逆順にするのにも便利ですが、いくつかの弱点があります。 元のハッシュで値が重複していると、それらのうち一つだけが 逆順になったハッシュのキーとして表現されます。 また、これは一つのハッシュをほどいて完全に新しいハッシュを作るので、 DBM ファイルからのような大きなハッシュでは少し時間がかかります。
my %by_name = reverse %by_address; # Invert the hash