in reply to Reading from text file

Welcome to perlmonks!

You can do this by parsing each line of input, collecting the required pieces into an appropriate data structure (I suggest a hash).
After the entire file is read, print out the results.

We do not generally answer 'homework' questions when no effort is shown, so the following code does works, but is deliberately cryptic.

$ perl -aF: -ne 'chomp @F;push @{$h{$F[0]}},$F[2]}{print join(":",$_ +,@{$h{$_}}),"\n" for sort keys %h' Your-file.txt China:2:2:70 Japan:6:10 Thailand:6
I'm sure this code will generate more questions. Please post those here , showing how it conflicts with your understanding.

Alternatively, post some code you have tried, and ask questions about which parts cause you difficulty.

                Memory fault   --   brain fried

Replies are listed 'Best First'.
Re^2: Reading from text file
by jwkrahn (Abbot) on Mar 23, 2018 at 06:27 UTC
    perl -aF: -ne 'chomp @F;push @{$h{$F[0]}},$F[2]}{print join(":",$_,@{$ +h{$_}}),"\n" for sort keys %h'

    Are we going for golf?    :-)

    echo "China:wd:2 Japan:wd:6 China:sg:2 Japan:sg:10 China:kng:70 Thailand:kng:6" | perl -F: -le'push@{$h{$F[0]}},$F[2]}{$,=":";print$_, +@{$h{$_}}for sort keys%h' China:2:2:70 Japan:6:10 Thailand:6