Написал такой скрипт для удаления пустых папок. А написал его на Perl6.
Вот исходничек:
# Удаляет все пустые папки
my $file;
my $empty;
RemoveEmptySubFolders ($*CWD.path);
sub RemoveEmptySubFolders ( $path ) {
$empty = True;
for dir($path) -> $file {
if ( $file.IO.d ) {
unless (RemoveEmptySubFolders($file)) {
$empty = False;
}
}
else{
$empty = False;
}
}
if ($empty) {
say $path if rmdir ($path);
}
return $empty;
}
Что меня вообще удивляет в Perl6:
Если в PHP это glob, то в Perl6 это dir
IO - класс в котором куча методов по работе с вводом выводом. Этакий Ruby получился объектный
Так же как в старом Perl5 надо блоки ставить даже для одной операции, могли бы и отказаться от такой практики
Обязательное объявление переменных
Конкатенация через символ ~, эт пожалуй самое странное, вообще не понял причину такого подхода. Это немного сбивает
Вообщем-то не так и сильно исходник отличался бы от того же PHP или тем более Perl5, писать можно. Другое дело что все это можно было бы наверное написать более компактно, зная фичи Perl6, а фич там ой как ДОХРЕНА, но я пока их не использовал ибо надо было написать просто рабочий вариант.