fork download
  1. #!/usr/bin/perl
  2.  
  3. # пусть @A - матрица с содержимым:
  4.  
  5. # 1 ss ff
  6. # 22 xxx ff
  7. # 333 sss aaaa
  8.  
  9.  
  10. push @A , " 1 ss ff";
  11. push @A , " 22 xxx ff";
  12. push @A , "333 sss aaaa";
  13.  
  14. # Но, если хотим обработать текстовой файл с помощью perl script.pl < текст.txt,
  15. # раскоментируем следующую строку
  16. # @A = <STDIN>;
  17.  
  18. map {
  19. @X = split(" ",$_);
  20. $C1{$X[2]} = ".";
  21. $C2{$X[1]} = ".";
  22. } @A;
  23.  
  24. @C2 = sort(keys(%C2));
  25.  
  26. print "Количество уникальных значений по третьему столбцу: ".scalar(keys(%C1))."\n";
  27. print "Минимальное значение по второму столбцу: ".((scalar(@C2)>0) ? $C2[0] : "нет")."\n";
  28. print "Максимальное значение по второму столбцу: ".((scalar(@C2)>0) ? $C2[scalar(@C2)-1] : "нет")."\n";
  29.  
  30.  
Success #stdin #stdout 0s 6000KB
stdin
Standard input is empty
stdout
Количество уникальных значений по третьему столбцу: 2
Минимальное значение по второму столбцу: ss
Максимальное значение по второму столбцу: xxx