Trong perlvar documentation có một văn bản về @_
:Làm cách nào tôi có thể sử dụng biến mảng mặc định Perl @_ bằng cách nhấn?
Trong một chương trình con mảng @_ chứa các thông số truyền cho rằng chương trình con. Bên trong một chương trình con, @_ là mảng mặc định cho các toán tử mảng push, pop, shift và unshift.
Đây là cách phổ biến để sử dụng shift
không có tham số để lấy phần tử đầu tiên từ mảng. Người ta rất thường xuyên sử dụng như:
sub some_method {
my $self = shift; # the same as `my $self = shift @_;`
...
}
Nhưng trong tài liệu đó được viết rằng nó có thể được sử dụng với push
, nhưng tôi không thể tạo ra ví dụ làm việc mà không chỉ định rõ @_
để push. Từ đọc tài liệu này, tôi mong đợi push 123;
để đẩy tới @_
, nhưng nó không hoạt động.
Gửi đây là một lỗi qua 'perldoc perlbug' – toolic
Tôi đã sử dụng perbug và gửi messge. Đây là tôi đã gửi - https://gist.github.com/bessarabov/2e938f4bbb79e78d1941 – bessarabov