2010-02-26 2 views
1

Может кто-нибудь сказать мне, почему «opendir» не работает?Как работает opendir в Perl 6?

#!/usr/bin/env perl6 
use v6; 

my $file = 'Dokumente/test_file'; 

if (my $fh = open $file, :r) { 
    for $fh.lines -> $line { 
    say $line; 
    } 
} else { 
    say "Could not open '$file'"; 
} 


my $dir = 'Dokumente'; 

my $dh = opendir $dir err die "Could not open $dir: $!"; 

Выход:

Hello, World!
Линия 2.
Последняя строка.

Не удалось найти несуществующие суб & opendir
текущего инстр .: '_block14' шт 29 (EVAL_1: 0)
вызывается из Sub ПК 1163 (ЦСИ/клей/run.pir 'UNIT_START!': 20)
Код: PCT/HLLCompiler.pir: 707)
вызван из Sub 'perl6; PCT; HLLCompiler; command_line' pc 1489 (компиляторы/pct/src/PCT/HLLCompiler.pir: 794)
, вызванный из Sub 'perl6; Perl6; ; main 'pc -1 ((unkno wn file): - 1)

+0

Когда я пишу «my $ dh = $ dir.open();» то сообщение об ошибке: «Метод« open »не найден для invocant класса Perl6Str '...». –

+0

Ну, это не так, как это будет называться. , , но, во всяком случае, похоже, что IO :: Directory еще не реализована. Служит мне правильно, чтобы не попробовать, прежде чем я опубликую. Поэтому я удалил свой ответ. – dsolimano

ответ

1

opendir еще не реализован. Пожалуйста, напишите отчет об ошибке, отправив письмо на адрес [email protected]

+0

Я думаю, что если такая функция не реализована, то это не секрет. Но скоро будет ли релиз perl6-star? –

-1

У меня нет Perl 6, но похоже, что вы неправильно вызываете opendir. Этот perl-фрагмент работает для меня:

my $dh; 
opendir $dh, '/home/ar' or die 'Could not open directory'; 
+1

Это работает, в Perl 5, но не в 6. – dsolimano

Смежные вопросы