質問: Perl 5.8.8で 'say'を使うにはどうすればいいですか? 私はいくつかのレビューと修正が必要なプロジェクト(PHP/MySQL)に割り当てられています。 その一部として、私たちが得るすべての変数の正しさをチェックする予定です GETとPOSTを介して。我々はいくつかのphpとtplファイルを持っています コードのすべての行のすべてのthouthandsので、それは検索するのは痛いだろう すべての$ _GET [...]と$ _POST [...]は手動で参照します。だから私はこれをやってみました: ``` find . -name "*.php" -or -name "*.tpl" | xargs perl -ne 'use feature say; say $1 while m/(\$_(GET|POST)\[[\s]*[\S]+[\s]*\])/g;' | sort -u ``` 基本的には、すべての$ _GET [...]と$ _POST [...]のリストを作成します。 プロジェクトを開き、そこから繰り返した値を削除します。しかし、それは動作しませんでした 開発マシンでperl 5.8.8をサポートしていないので 5.10+の機能 'say'、システム管理者はアップグレードが 望ましくない。なぜ私は分からないが、彼は上司だ。 だから、「say」を他のコードに置き換える方法や、 他のツールを使ったPerl?
回答: Perl 5.10では 'print'の代わりに 'say'が追加され、自動的に改行を出力に追加します。したがって、あなたは " ``` say "hello"; ``` ...書くのではなく、 ``` print "hello\n"; ``` 単に使用機能を削除するだけです; 'say $ 1'を次のように置き換えます。 ``` print "$1\n"; ```