2017-04-04 6 views
3

参照方法printPerlでプリントを参照するには?

私が試した:

my $p = \&print; 

をしかし、それはスロー:

未定義のサブルーチン&main::print

+1

は、あなたがに何を計画してください'$ p'でやる? – toolic

+1

'perl -E 'my $ p = sub {print @_}; $ p - >( "Hello \ n") '' –

+0

渡し、修正、呼び出し。 – ceving

答えて

5

をそれは\&CORE::printが、perldoc CORE lists print as not availableだろう。

あなたはそれのまわりアノンサブをラップし、しかし引数を転送することができます

また
my $p = sub { print @_ }; 
$p->("hi"); 

、元のメソッドのsansバックスラッシュが動作罰金Perl 6に:

my $p = &print; $p("hi") 
+0

"*リストを印刷できません*"、サブルーチンで複製できる演算子への参照しか得られないので、 'print'演算子への参照を得ることができません(オプションの先行ブロック/ glob )あなたは加算演算子への参照を得ることができます(中置演算子なので)。 – ikegami

+1

これはPerl 6でもそのまま動作します: 'my&add =&inix:<+>; 2、5 'を追加します。 #OUTPUT:7' –

+0

これで達成しようとしていることはわかりませんが、混乱を招く可能性があります。少なくとも、あなたの答えのビットはです。 – ikegami

関連する問題