• ベストアンサー

perl6 で perl5 の <> は、どのように書くのでしょうか。

perl6 で perl5 の <> は、どのように書くのでしょうか。 例えば perl5 の while (<>) { print; } は perl6 だとどう書けばよいのでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

for =$*ARGS { .say }

参考URL:
http://www.learningperl6.com/Chapters/11.filehandles.html
t-okura
質問者

お礼

Rakudo 2010.02 release (#26 "Amsterdam") が出たので、 再度 for =$*ARGS { .say } を試して見ました。 2010-01 release (#25 "Minneapolis") だと No applicable candidates found to dispatch to for 'prefix:=' というエラーだったのが、 Confused at line 2, near "for =$*ARG" というエラーに変わりました。 また、2010-01 release (#25 "Minneapolis") で通っていた my %a=( 1=>"Jan",2=>"Feb",3=>"Mar",); for keys %a { say "$_ => $a{$_}" } が、Could not find non-existent sub &keys とエラーになりました。 perl5.6 くらいにテストされているという文章を見たように 思うのですが rakudo perl6 は、まだまだ開発初期のような感じ です。 おとなしく4月のリリースを待つことにします。 参考 URL ありがとうございました。

t-okura
質問者

補足

回答と参考URLの紹介 ありがとうございます。 こんなに立派なサイトがあったのに全然見つけることが できませんでした。 rakudo star が近々公開されるというので、勉強を始めました。 rakudo-2010-01.tar.gz から作成した $ perl6 --version This is Rakudo Perl 6. を使っているのですが、教えていただいた for =$*ARGS { .say } (参考URL にも載っていますね)を cat.pl として実行すると $ perl6 cat.pl cat.pl No applicable candidates found to dispatch to for 'prefix:=' in Main (file src/gen_setting.pm, line 324) となります。 これは 2010-01 版の Rakudo Perl 6 が不完全なものだから でしょうか。勉強に使うとしてもまだまだ未完成なのでしょうか。

関連するQ&A