2011-07-13 15 views
2
x|m expr  Evals expr in list context, dumps the result or lists methods. 
    p expr   Print expression (uses script's current package). 

彼らは私と同じようですが、違いは何ですか?perl -dのxとpの違いは何ですか?

また、シェル環境で上/下矢印キーのようなショートカットがありますか?

答えて

6

perldoc perldebugを参照してください:現在のパッケージにある "印刷{$ DB :: OUT} exprの" と同じ

のp exprを。 では、これはPerl独自の "print" 関数なので、 "x"コマンドとは異なり、ネストされたデータ構造と オブジェクトはダンプされません。

Readlineのサポート/履歴デバッガ に出荷されるように、供給された唯一のコマンドライン履歴は主要感嘆符をチェックする単純な1 あります。しかし、 Term :: ReadKeyとTerm :: ReadLineモジュールをCPANからインストールすると( Term :: ReadLine :: Gnu、Term :: ReadLine :: Perlなど)、完全に の編集機能を使用できますGNU readline(3)と同じように。 は、CPANのmodules/by-module/Termディレクトリにあります。

+0

なぜ 'ReadKey'も必要ですか? –

+0

うわー! +1のreadlineもの - 私はデバッガのreadline perlのコンパイルフラグだと思った。 – Dallaylaen

+0

@Dallaylaen、 'perlのコンパイルフラグ'はどういう意味ですか? –

0

簡単に言えば、xはデータ構造を出力し、pはスカラー値を出力します。両方ともお試しください:p {x=>1, y=>2}は意味がありませんが、x {x=>1, y=>2}は意味があります。

関連する問題