2017-10-20 6 views
0

この行はPerlで何をしますか?この行はPerlで何をしますか?

s/\s//g; 

Iは、入力ファイル内の特定の文字を検索し、カウントするために使用されるスクリプトを見ていると私は、この行を除いて、コード内のすべてを理解しています。私はこの行がスクリプトのために何をしたのか疑問に思いましたか?

+0

ほとんどの場合、テキストを置き換えるためのsedパターンのようです。 http://www.thegeekstuff.com/2009/09/unix-sed-tutorial-replace-text-inside-a-file-using-substitute-command/?utm_source=sitekickr&utm_medium=snip_buttonを参照してください – mattias

+1

すべての空白が削除されているようですデフォルトの '$ _'変数から削除します。 's ///'はテキストの置き換えで、 '\ s'は空白で、nohting(2番目と3番目のスラッシュの間には何もないので)で置換し、どこにでも適用します(グローバルでは' g')。 – AntonH

答えて

2
s/\s//g; 

それは$_にバインドsubstitution operatorある

$_ =~ s/\s//g; 

の略です。これは、 \sに一致する$_のすべてのシーケンスを何も置き換えません。 (gがなければ、最初のものに置き換えられます)

\sは、空白の文字と一致します。

関連する問題