數據分析
檢測系統某一目錄下是否存在文件a.txt,有的話,則mv成新的文件,沒有,則創建它,並向文件中輸入以下數字:
1 0 1 2 1 1 3 0 1 4 1 1 5 0 1 6 1 1 7 0 1 8 1 1
面試中,對這個題目產生了歧義,一時緊張,竟然不知從何下手。回來仔細一想,so easy!
1)出題者的本意解法
#!/bin/env perl use strict; if (-e 'a.txt') { system "mv a.txt a.txt.old"; } else { system "touch a.txt"; } open my $file,'>>','a.txt' or die "$!\n"; for(my $i=1;$i<9;$i++){ if ($i % 2) { print $file "$i\t0\t1\n"; } else { print $file "$i\t1\t1\n"; } }
2)產生歧義的解法
#!/bin/env perl use strict; if (-e 'a.txt') { system "mv a.txt a.txt.old"; } else { system "touch a.txt"; } open my $file,'>>','a.txt' or die "$!\n"; print $file <<'EOF'; 1 0 1 2 1 1 3 0 1 4 1 1 5 0 1 6 1 1 7 0 1 8 1 1 EOF close $file;