我是perl的新手,有一点问题:
perl代码的一部分:
print "${data_dir}\n";
#converting directory path to unix format (replacing all backslashes with slashes)
$data_dir = ~s/\\/\//g;
print "${data_dir}\n";
Run Code Online (Sandbox Code Playgroud)
输出:
C:/dev/../data
4294967295
Run Code Online (Sandbox Code Playgroud)
为什么结果不同?我猜这个$data_dir变量中的问题,因为这适用于其他字符串,但可能是什么问题?
PS $data_dir我从其他模块中获取,并且不知道它是如何构建的.
RC.*_*RC. 11
你和=之间有一个空格.他们应该在一起=〜.
$data_dir =~ s/\\/\//g;
Run Code Online (Sandbox Code Playgroud)
你正在做的是设置$ data_dir等于补码(即〜运算符)s/\\/\//g等于4294967295.