Q
Perl:<>
2
A
答えて
8
いわゆるダイヤモンド演算子(<>
)は、STDINまたはコマンドライン引数として指定されたファイル名から行単位(スカラーコンテキストで)を読み込みます。 perldoc perlop
から
:
ヌルファイルハンドル
<>
は特別です:SEDやAWKの 動作をエミュレートするために使用することができます。<>
からの入力は、標準入力 から、またはコマンドラインにリストされている各ファイルから入力します。最初に<>
が評価され、@ARGV
配列がチェックされます。 が"-"
に設定されています。 に標準入力があります。@ARGV
配列は、ファイル名のリストとして として処理されます。リスト内の要素として格納された各ラインで、すべての行を返す<>
リストコンテキストにおいて
。
つまり、print for <>;
は、メモリが増えてもprint while <>;
と同じことを行います。
0
3
あなたはPerlの最も魔法の作品を見つけました。まあ、私は確信しているより多くの魔法のものが、この小さなイディオムはそれを作る非常にシェルパイプラインの使用のためのプログラムを書くのが簡単とファイル操作使用。
引数を指定せずに実行すると、<>
は標準入力から1行ずつ読み込みます。
引数を指定して実行すると、指定されたファイルから順に引数をファイル名と読み込み行として1つずつ処理します。
短いデモ:私はそこに手でプログラムに入力された
$ cat > print.pl
#!/usr/bin/perl -w
print for(<>);
$ chmod 755 print.pl
$ echo hello world | ./print.pl
hello world
$ ./print.pl print.pl
#!/usr/bin/perl -w
print for(<>);
$ ./print.pl print.pl print.pl
#!/usr/bin/perl -w
print for(<>);
#!/usr/bin/perl -w
print for(<>);
$
。あなたが完全にそれを入力したときに^D
を押す。
関連する問題
- 1. モデル - >オブザーバー - >ビュー - >コントローラー - >モデル - >
- 2. ハスケル: - > - > ... - > Bに[A] - > B
- 3. >>
- 4. >>
- 5. >>
- 6. Robocopy:Windows 2003 >>> Windows 2012
- 7. '>>>' JavaのC++
- 8. UINavigationController - > UIViewController - > UIView - > UITableViewController?
- 9. バッチファイル> NUL >>%dir%エラー
- 10. >>> do in python
- 11. 比較>>>効率
- 12. ノード変換>クライアント>ノード> json>ノード>クライアント
- 13. のWinforms:</p> <ol> <li><code>Enviroment.Exit(0)</code></li> <li><code>Application.Exit()</code></li> <li><code>Form.Close()</code></li> </ol> <p>何:Form.Close
- 14. 標準MLの(a - >( 'b - >' c)) - >( 'a - >' b) - >( 'a - >' c)の関数
- 15. ラムダ型をint => IEnumerable <string>> int =>タスク<IEnumerable <string> >>に変換しますか?
- 16. PHPは、私は、次のファイルに</p> <p><em>クラス/ database.phpで</em></p> <pre><code>require_once("config/config.php"); ... </code></pre> <p><em>のconfig/config.phpの</em></p> <pre><code>... </code></pre> <p>持っ
- 17. CSS:私は、次のものがあり、CSSで</p> <pre><code><main> <section> <article></article> <aside></aside> </section> </main> </code></pre> <p>:フレックスボックスは、Firefox
- 18. "位置:絶対":</p> <pre><code><html> <body> <div id="outer"><div id="inner"></div></div> </body> <html> </code></pre> <p>とそのCSS:CSS
- 19. connection.Close()とconnection.Dispose()の違いは何ですか? <code>SQLiteDataReader</code>オブジェクトの</p> <ul> <li><code>Close()</code></li> <li><code>Dispose()</code></li> </ul> <p>同じ:
- 20. MySQLの:私は<strong>MySQLの</strong>テーブルに列<strong><code>my_order</code></strong>と<strong><code>alt_order</code></strong>で<strong><code>example</code></strong>と呼ばれている列
- 21. はどのように、</p> <pre><code>f :: a -> b g :: b -> c h :: c -> d </code></pre> <p>ハスケル
- 22. UTCタイムスタンプ - > java.sql.Timestamp - > jOOQ - > postgreSQLのローカルタイムスタンプ?
- 23. Pythonインタラクティブプロンプトを変更する ">>>"
- 24. #<UserSession:{:unauthorized_record => "<protected>"}>
- 25. バイト>文字列>バイト>ファイルVB
- 26. <TextView /> OR <TextView></TextView>
- 27. Flafka(Http - > Flume - > Kafka - > Spark Streaming)
- 28. タイプ "INT->文字列 - > INT->ブール"
- 29. 回転ビューコントローラ - >タブバーコントローラ - >ナビゲーションコントローラ - >ビューコントローラ
- 30. FairPlay> SPC> streamingContentKeyRequestData>アプリケーション識別子
ここにいくつかの情報があります:http://perldoc.perl.org/perlopentut.html#Filters – TLP