Я просматриваю предлагаемый пакет, поставляемый поставщиками, в инструмент Perl, который мы используем, и я изо всех сил пытаюсь определить причину определенного типа изменений - предварительный запрос «@» на параметры, переданные подпрограмме.В чем смысл двойной 'at' (@@) в Perl?
Например, линия, которая была:
my ($genfd) = @_;
Сейчас:
my ($genfd) = @@_;
Не будучи разработчиком Perl, я учусь на ходу здесь, но до сих пор я understand that '@_' является параметры, подаваемые в прилагаемую подпрограмму.
I also understand Назначение выше (где «$ genfd» завернуто в круглые скобки в левой части) приводит к «@_» в список, а затем присваивает сканирующую переменную «genfd» первому элементу этого списка , Это должно привести к тому, что первый параметр подпрограммы будет храниться в 'genfd'.
То, что я полностью застрял, - это то, что делает вторая «@». У меня есть found examples of this usage on GitHub, но никогда с объяснением, и я не могу найти объяснения ни в каких ссылках на Perl или в SO. Любая помощь приветствуется.
(Большинство файлов, v находятся в репозиториях, которые являются резервными копиями дисков для людей.) – ikegami
Спасибо @Keith! Просмотр некоторых из «, v» историй для существующих файлов показывает тот же синтаксис. Патч применяется через некоторые встроенные обманки, которые, как я ожидал, означают передачу его в RCS/CVS в виде патча или новой версии, соскабливая экранирование. – thisismyrobot
@thisismyrobot: Если файлы предназначены для внутренних файлов '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ''' '' '' '' '' '' ''' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ' из RCS или CVS. –