- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
use strict;
use warnings;
my $bottom = sub {
my $test = shift // 'undef';
print "bottom( $test )\n";
};
sub sub_bottom {
my $test = shift // 'undef';
print "sub_bottom( $test )\n";
}
sub fallthrough {
&$bottom;
}
sub not_fallthrough {
&$bottom();
}
sub not_fallthrough2 {
sub_bottom;
}
fallthrough('Fallen1');
not_fallthrough('Fallen2');
not_fallthrough2('Fallen3');
Долго пытался понять как до сабины доходят аргументы, хоть она вызывается без них. Обнаружил вот это. OH SHI~
Вывод:
guest 23.08.2013 04:38 # −10
Чёрт :(
santa_microbe 23.08.2013 07:32 # 0
Даже не знал о таком нюансе в perl, в документации есть что-нибудь по данному поводу ?
santa_microbe 23.08.2013 07:39 # 0
gh0stwizard 23.08.2013 08:42 # +6
http://perldoc.perl.org/perlsub.html
bormand 23.08.2013 08:50 # +7
Почему оно так себя ведет только при вызове через ссылку, а прямой вызов будет без аргументов? :)
gh0stwizard 23.08.2013 18:22 # +1
Вообще, правильно использовать goto &sub_name; goto &$sub_name; чтобы не заморачивать голову ни себе, ни другим.
bormand 23.08.2013 18:30 # +5
The new subroutine inherits the argument stack and other features of the original subroutine; it becomes impossible for the new subroutine even to know that it was called by another name.
Жжесть... Буду и дальше юзать перл как очень удобный движок для переработки текстовых файлов. Для чего-то более масштабного - нет уж, увольте ;)
gh0stwizard 23.08.2013 18:52 # +1
Ты часто дебажишь? И именно в данном куске кода? Или пишешь код как выше? Не такая уж страшная проблема. Зато не прибавляет тормозов, понятна всем и работает как задумано. Твой вариант через $mysub тоже не отдебажишь нормально, ибо это анонимная функция.
>Для чего-то более масштабного - нет уж, увольте ;)
Дело твое. Везде есть свои плюсы/минусы.
bormand 23.08.2013 19:01 # +5
Это не мой код ;) Для меня оба кода темный лес. Что с goto, что со ссылкой.
Все что я пишу на перле - это конвертеры/аггрегаторы/анализ логов и т.п. Ну иногда простые скриптики для пакетной обработки чего-нибудь, если на баше это будет сильно страшно (регулярки, выпарсивание чего-то из файлов, вычисления и т.п.). Для этих целей он мне очень нравится.
> Ты часто дебажишь?
Нет, тупо прогоняю скрипты на контрольных примерах. Я перловский дебаггер никогда не юзал, даже не знал, что он есть.
guest 15.04.2017 04:56 # −5
guest 07.02.2017 03:55 # −10
someone 23.08.2013 10:39 # 0
Тогда уж сразу my $ass.
guest 23.08.2013 11:19 # −11
wvxvw 24.08.2013 09:47 # 0
guest 04.03.2017 00:21 # −10
guest 04.03.2017 00:34 # −10
guest 07.02.2017 13:00 # −10
an0nym 23.08.2013 11:25 # 0
Dummy00001 24.08.2013 17:19 # +15
dionys 25.08.2013 09:13 # 0
Dummy00001 25.08.2013 12:47 # +14
стиль? мы все еще про перл говорим??
вы все дилетанты-неперловщики тут зацыклились на скрытой передаче @_ в то время как основное применение этого синтакса это передача $_ (через алиас). например, cat c upper-case'ом:
bormand 25.08.2013 13:02 # +4
Dummy00001 25.08.2013 13:06 # +15
guest 11.04.2017 05:46 # −10
CTEKIIJIHHIbN_XYI 11.04.2017 10:50 # 0
dionys 25.08.2013 18:46 # 0
guest 27.08.2013 10:30 # −12
dionys 27.08.2013 10:33 # 0
guest 20.01.2017 02:14 # −10
guest 28.01.2017 03:32 # −10
barop 28.01.2017 03:33 # −10
kainwinterheart 27.08.2013 09:50 # 0
http://ideone.com/5cRWIf
http://ideone.com/rXJYHP
guest 27.01.2017 13:57 # −10
guest 14.04.2017 01:33 # −11
<a href=" http://cialis10mgprixenpharmacieenligne.com/ ">cialis 10mg prix en pharmacie en ligne </a>
guest 14.04.2017 02:33 # −11
<a href=" http://cialis20mgprixenpharmacierx.com/ ">cialis 20mg prix en pharmacie en france </a>
guest 14.04.2017 08:49 # −11
<a href=" http://cialissansordonnanceenfrance.com/ ">cialis sans ordonnance pharmacie paris </a>
guest 14.04.2017 14:47 # −11
<a href=" http://achetercialissansordonnanceenpharmacie.c om/ ">acheter cialis belgique sans ordonnance </a>
guest 14.04.2017 14:47 # −11
<a href=" http://achatcialisenfrancelivraisonrapide.com ">achat cialis en france livraison rapide </a>
guest 14.04.2017 15:06 # −11
<a href=" http://achatcialis5mgenligne.com/ ">acheter cialis 5mg </a>
guest 14.04.2017 15:06 # −11
<a href=" http://achetercialis20mgenligne.com/ ">acheter cialis 20mg en ligne </a>
guest 15.04.2017 07:39 # −5
<a href=" http://achattadalafilenfranceenpharmacie.com/ ">achat cialis en ligne france </a>
guest 15.04.2017 07:40 # −5
<a href=" http://acheterprednisone20mgenligne.com/ ">acheter prednisone </a>
guest 15.04.2017 07:41 # −5
<a href=" http://acheterpropeciasurinternet.com/ ">acheter propecia sur internet </a>