この質問に関連していますが、より詳細です。次のようなコマンドを実行しています。
foreach $dir (@dirs) {
$cnt = `svn st $dir | wc -l`;
if($cnt > 0){
$content .= "$dir\n";
$mods++;
}
}
ただし、ディレクトリには非 ASCII ファイルが含まれているため、ロケールが正しくないか設定されていない場合はエラーがスローされます。
perl で必要なロケールを設定する正しい方法は次のとおりです。
setlocale(LC_CTYPE, 'en_US.UTF-8');
svn st
ただし、正しいロケールが設定された端末で perl スクリプトが実行されていない場合でも、ロケール エラーが発生するため、これはコマンドに影響していないようです。