这是我遇到的一个常见问题,我的解决方案有点夸张.所以我正在寻找快速解决问题的方法.
问题是,当我决定将excel(mac 2011)中的电子表格保存为制表符分隔文件时,它似乎完全没问题.直到我尝试使用Perl逐行解析文件.出于某种原因,它将整个文档扼杀在一行中.
我的野蛮解决方案是在Web浏览器中打开文件,并将信息复制并粘贴到TextEdit中的制表符分隔文件中(我从不使用富文本格式).我尝试在执行此修复之前在文件末尾引入换行符,但它无法解决问题.
这里发生了什么?一个解释将不胜感激.
〜谢谢!〜
我无法破译这行代码.有人可以把它翻译成if/ else陈述吗?
我理解基本CONDITION ? VALUE_IF_TRUE : VALUE_IF_FALSE模式,但这条线似乎打破了这一点.
$type = $self->{1}{_flag} & 2 ?
$self->{2}{_flag} & 2 ? "A" : "B" :
$self->{2}{_flag} & 2 ? "B" : "C";
Run Code Online (Sandbox Code Playgroud) 我一直在使用Perl这个问题而且它真的很烦人.
平台:Mac OS X 10.7; Perl v5.12.3
示例脚本
#!/usr/bin/perl
undef %hash;
@letters = qw / a b c /;
@numbers = qw / 1 2 3 /;
for($i=0;$i<=2;$i++){
$hash{$letters[$i]}=$numbers[$i];
}
foreach $key (%hash) {
print $key."\n";
}
Run Code Online (Sandbox Code Playgroud)
对于某些脚本,我得到第一个输出(额外的键),有时我得到另一个(额外的值)
输出:
a
a
b
b
c
c
Run Code Online (Sandbox Code Playgroud)
要么
1
2
3
a
b
c
Run Code Online (Sandbox Code Playgroud)
这是Perl的"功能"吗?我如何解决它?
谢谢!