Jav*_*oob 1 windows perl command-prompt
我有一个使用Perl 5.8在Linux平台上构建的Perl脚本.但是现在我尝试在具有相同Perl版本的Windows平台命令提示符下运行Perl脚本.
我正在使用这个命令,perl rgex.pl但它给了我一大堆错误,在我看来它已经在脚本本身已经解决了.奇怪的是我能够运行另一个Perl脚本而不会出现由打印,输入等简单函数组成的问题.
代码:
#!/usr/bin/perl
use warnings;
use strict;
use Term::ANSIColor;
my $file = "C:\Documents and Settings\Desktop\logfiles.log";
open LOG, $file or die "The file $file has the error of:\n => $!";
my @lines = <LOG>;
close (LOG);
my $varchar = 0;
foreach my $line ( @lines ) {
if ( $line =~ m/PLLog/ )
{
print("\n\n\n");
my $coloredText = colored($varchar, 'bold underline red');
print colored ("POS :: $coloredText\n\n", 'bold underline red');
$varchar ++;
}
print( $line );
}
Run Code Online (Sandbox Code Playgroud)
当我在Windows命令提示符下运行它给我错误,如:
请提供一些关于代码的建议.谢谢.
\用双引号括起来的Perl字符串中的A 标记了\n换行符的开头,例如换行符,\t用于制表符.既然你想要\从字面上对待你需要\像以下\\一样逃避:
my $file = "C:\\Documents and Settings\\Desktop\\logfiles.log";
Run Code Online (Sandbox Code Playgroud)
由于您没有在字符串中插入任何变量,因此最好使用单引号:
my $file = 'C:\Documents and Settings\Desktop\logfiles.log';
Run Code Online (Sandbox Code Playgroud)
(单引号内,\除非下一个字符是反斜杠或单引号,否则不是特殊的.)