1

重複の可能性:
Getopt::Longスペースを含む文字列を変数に取得する

次のPerlスクリプトがあるとします。

use 5.010;
use strict;
use warnings;
use Getopt::Std; 
use vars qw($opt_i $opt_o $opt_m); 
&getopts('i:o:m:'); 

say $opt_m

このスクリプトを次のように呼び出すと

perl script.pl -i text -o string -m hello how are you, world?

「こんにちは、お元気ですか、世界」とは言えません。で$opt_m。スクリプトへのスイッチ引数の1つとして、空白で区切られた文字列をキャプチャするにはどうすればよいですか?

4

2 に答える 2

4

文字列のスペースをエスケープする必要があります。

hello\ how\ are\ you,\ world\?
于 2012-09-14T21:27:47.530 に答える
4

文字列を作成しようとしています

hello how are you, world?

したがって、その文字列を作成する文字列リテラルを使用する必要があります。文字列リテラルの構文はシェルによって異なりますが、おそらく次のいずれかを使用してその文字列を作成できます。

hello\ how\ are\ you,\ world\?
'hello how are you, world?'
于 2012-09-14T21:29:49.013 に答える