# New Ticket Created by "brian d foy" # Please include the string: [perl #132543] # in the subject line of all future correspondence about this issue. # <URL: https://rt.perl.org/Ticket/Display.html?id=132543 >
I first asked about this on Stackoverflow: https://stackoverflow.com/q/47704428/2766176 A .tail on a .tail appears to do the wrong thing: > my $list = <a b c d e f g h i j>; (a b c d e f g h i j) > $list.tail(5).tail Nil But throwing a list in there works: > $list.tail(5).list.tail j Timo said: .tail and .tail(1) are implemented with Rakudo::Iterator.LastValue and Rakudo::Iterator.LastNValues respectively, which differ quite a bit in implementation. https://github.com/rakudo/rakudo/blob/master/src/core/Rakudo/Iterator.pm#L1807 And he figures: tail on the List takes an iterator and skips it ahead $n items. then, the tail method on Seq calls count-only on it to figure out how far to skip ahead to get the last $m items. However, count-only on the first iterator just gives you the total number of items in the original list. It should probably either signal an error when asked for count-only, or it should calculate the proper amount of items left.