foreach(@files){ if(/\.csv$/i) { # if the filename has .csv at the end push(@csvfiles,$_); } } foreach(@csvfiles) { $csvfile=$_; open(hanr, "D:\\stock\\".$csvfile)or die"error $!\n"; open(hanw , ">D:\\stock\\sorted".$csvfile) or die"error $! \n"; @lines=(); @lines=; foreach $line (@lines){ chomp $line; $count++; next unless $count; # skip header in csv my $row; @$row = split(/,/, $line ); push @$sheet2 , $row; } foreach my $row ( sort { $a->[0] cmp $b->[0] || $a->[1] cmp $b->[1] } @$sheet2 ) { chomp $row; print hanw join (',', @$row ),"\n"; } @$sheet2 = (); $count = -1; close(hanw); close(hanr); } #### @$row = split(/,/, $line ); push @$sheet2 , $row; } foreach my $row ( sort {$a->[0] cmp $b->[0] || $a->[1] cmp $b->[1]} @$sheet2 ) { *print hanw join (',', @$row ),"\n"; }