Re: [問題] 讀取檔案的內容

看板Perl作者 ( only you )時間12年前 (2012/11/06 20:34), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串5/10 (看更多)
※ 引述《flu (Crazy Rhythm)》之銘言: : : my %count_of_si ; #統計si出現的次數 : : my %p_of_si ; #統計si為0的次數 : my $name_of_file_in = "aaa_inc"; #讀入的檔案 : if (-e $name_of_file_in) : : { : print "$name_of_file_in exist\n"; : open (FILE , "<". $name_of_file_in); : ^^^^^ : #<FILE>會把讀入的內容寫入$_ : : while(<FILE>) : : { : my @filtered = ( $_ =~ m/^ [\s\t]* (\d+) [\s\t]+ (\d+) /x); : : next if ( !defined $filtered[0] ) ; : #下面這行和我的版本不同 : : $count_of_si{ $filtered[1] }++ if $filtered[1] == 1; 這裡我有key錯 是原本的 $count_of_si{ $filtered[1] }++; 才對 : : $p_of_si{ $filtered[1] }++ if $filtered[0] == 0 ; : : } : : } : : print Dumper( @count_of_si{ sort keys %count_of_si } ) ; : : print "\n" ; : : print Dumper( @p_of_si{ sort keys %p_of_si} ) ; 我試了一下 發現show出的內容是 $var1 = 7 $var2 = 7 $var3 = 7 $var1 = 6 $var2 = 7 $var3 = 2 上行表示1、2、3全部的個數 下行表示1、2、3中0的個數 我比對檔案的內容是這樣沒錯 而我還有個問題是 如果我想print出 1全部有幾個,1裡面的0有幾個 也就是所有讀入的數字(1.2.3...)個別print出來個數與所含的0的個數 那我要怎麼表示呢? 感謝回答~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.251.242.247 ※ 編輯: hws110 來自: 111.253.112.239 (11/06 23:35)
文章代碼(AID): #1GcGFpaU (Perl)
討論串 (同標題文章)
文章代碼(AID): #1GcGFpaU (Perl)