コードは次のとおりです。
use Cwd;
use Win32::Console::ANSI;# installed module with ppm
use Term::ANSIColor;
$parent = cwd();
@files = <*>;
print "\n";
foreach (@files)
{
$child = "$parent/$_";
if (-f $_){print "$child\n";}; #file test
if (-d $_)#directory test
{
print color("green")."$child/\n".color("reset");
my($command) = "cd $child/";#submerge one directory down ( recursive here?)
$command=~s/\//\\/g;
system( $command );
};
}
私が抱えている問題は、出力が色付けされる方法にあります。私が期待しているのは、黒い背景に緑色の「いくつかのディレクトリ」です。代わりに、背景色を緑に、テキストを黒に、場合によっては白をランダムに取得します。color() を使用する他のすべてのコードでこの問題が発生します。再起動すると問題が解決することに気付きました。また、他の perl コードを実行すると、DOS とそのすべてのウィンドウに影響を与える問題が返されるのではないかと疑っています。基本的に、問題が発生すると、color() のすべてのインスタンスを再起動するまで存在します。グリッチのように見えます。助けてください。