#!/usr/bin/perl $pwd="/home/program/"; $wc_temp="$pwd/wc_temp"; sub sum{ my @file=<*>; foreach(@file){ #print "$_\n"; chomp; my $path=`pwd`; chomp $path; if(-d){ chdir "$_" or die "con't chdir\n"; #print "$path\n"; ∑ chdir "$path" or die "con't chdir\n"; }elsif(-s){ #文件大小大于0 $total++; if($_ eq "wc.file"){ next; } $ENV{"tt"}=$_; #改变shell环境变量 $ENV{wc_temp}=$wc_temp; system 'wc $tt >> $wc_temp'; # print "$_\n"; } } } ∑ chdir "$pwd" or die "con't chdi\n"; system 'sort -n $wc_temp >wc.file'; #记录所有程序的代码行数 unlink "$wc_temp"; open FIN,"wc.file" or die "con't open$!"; foreach(<FIN>){ chomp; @line=split; $num+=$line[0]; } print "total_file=$total\n"; print "line=$num\n";