私は--pager='less -R'
のような長いオプションを受け入れるperlスクリプトを持っています。私はそれを-pのみに短縮したいと思います。それは速いハックです、私はperlを知らず、私はARGV配列(またはそれがperlで呼ばれているもの)の中で-pager = 'less -R'の前に-pを検索して置き換えることを前提としていますコマンドライン引数の処理を開始します。perlの@ARGVの項目を置き換えます
答えて
あなたは、迅速なハックとして
s/^-p$/--pager/ for @ARGV;
を使用することができます。任意のオプションの値として-p
を入力しないでください。また、必ず-p
の後にスペースを入れてください。
オプションが--pager="less -R"
と指定されている場合、そのスクリプトではGetopt::Long
が使用されている可能性があります。それに応じて対応する変数を変更します。
ポケベルをpに変更するのではなく、 '--pager = "less -R"'の代わりにリテラル '-p'を使用します。 – chriskirk
コアのPerlディストリビューションの一部であるGetopt::Longが間違いなく必要です。
それは迅速なハックではありませんが、それは私の意見では、引数を処理するための適切方法です。ドキュメントを読むと、そのようなことをどのくらい速く処理できるかがわかります。
しかし、他の誰かが興味深いモジュールを見つけることができます。 –
Getopt :: Longをいつも使うべきなのか、いくつか考えてみましょう。 http://www.perlmonks.org/?node_id=687283時間があれば、p5pからtchristの元のメッセージを読むべきです。 –
であり、Perl 5がリリースされて以来、実際にはGetopt :: Longは中核となっています。 CPANをインストールする必要はありません。 –
なぜ、あなたは「適切な」Perlプログラミングに興味がないのですか?
couple of extra linesを追加すると傷つきますか?
use strict;
use warnings;
use Getopt::Long;
my $pager = 'default value';
GetOptions('pager=s' => \$pager) or die "Could not load options\n";
- 1. 文字列配列内の項目を置き換えます。
- 2. Qt - QPreeButtonsをQTreeViewの項目に置き換えます。
- 3. Jfaceポップアップメニューのメニュー項目を置き換える
- 4. Kendo Dialogの内容をKendo MVCの項目に置き換えますか?
- 5. Java 8ストリーム:ストリーム・コレクション内の単一の項目を置き換えます。
- 6. PerlインラインでのPerlスクリプトの置き換え
- 7. perlのCR LFを "|"に置き換えます。
- 8. CLLocationManagerの「目的」プロパティの置き換え
- 9. Linqはforeachループを置き換える項目のリストを整形する
- 10. サブリストの2番目の項目をデータフレームの行の値に置き換えます。
- 11. foreachループの項目を置き換えるために回避する
- 12. 辞書の項目を置き換えて書式設定する
- 13. Ruby配列の条件で配列内の項目を置き換える
- 14. Python:リストの各項目を値の範囲で置き換える方法は?
- 15. 複数の文字をPerlの複数の置換えに置き換えます
- 16. ncurses&Cの文字列メニュー項目を置き換える方法
- 17. golangのN番目の文字列を置き換えます。
- 18. 内容をregex-Perl(multiline)に置き換えます
- 19. URLを項目名に基づいて書き換えます
- 20. どのようにしてリストの項目をインデックスで置き換えることができますか
- 21. c#プレースホルダをtext.htmlに置き換えて置き換えます。
- 22. ホバーテキストを置き換えて画像に置き換えます
- 23. WordPressのcustom.cssのみを使用してメニュー内の項目を置き換えます。
- 24. Sedは2番目の発生時に置き換えます
- 25. コマンドラインからPerlの@INCを置き換えてください。
- 26. Angularjsのサービス中の配列へのpush toは前の項目を置き換えます
- 27. リスト内の2つの項目を辞書のそれぞれの値に置き換えます
- 28. 入れ子のループ内R:置き換えられる項目の数が置き換えの長さの倍数ではありません
- 29. また、フォーマットを確認しながら文字列内の項目を置き換えます。
- 30. ランタイム/ perl-512をsolarisのランタイム/ perl-522に置き換える方法11.3
"ページャ"のコードを検索して "p"に変更した場合どうなるのでしょうか? (元のスクリプトのコピーを保管してください)。 –