PERL key pair using cells of a csv file -


that created col0 , col3 of csv file, sum of + 1 col3 key value. next want change col0 cells hash key associated col3 value. how do that? in essence if value of col3 changes col0 should updated keypair.

use strict; use warnings;  @arrayfruit; %fruits = (); foreach (<data>) {     chomp;     $line     = $_;     @elements = split( ",", $line );     $fruit    = $elements[0];     $color    = $elements[1];     $type     = $elements[2];     $nmbr     = $elements[3];     %fruits = ( $fruit => $nmbr );      $new_nmbr = $nmbr + 1;      print "key number =  $nmbr  <--->  value fruit = $fruit \n"       foreach ( keys %fruits );      push @arrayfruit, "$fruit, $color  ,$type ,$new_nmbr \n"; }  __data__ apple,green,fruit,1 turnip,white,veg,2 plum,red,fruit,3 apple,green,fruit,1 plum,red,fruit,3 orange,orange,fruit,4 spud,brown,veg,5 plum,red,fruit,3 orange,green,fruit,4 plum,red,fruit,3 orange,orange,fruit,4 spud,brown,veg,5 plum,red,fruit,3 orange,orange,fruit,4    expected data turnip,green,fruit,2 plum,white,veg,3 orange,red,fruit,4 apple,green,fruit,2 orange,red,fruit,4 spud,orange,fruit,5 blank,brown,veg,6 orange,red,fruit,4 spud,green,fruit,5 orange,red,fruit,4 spud,orange,fruit,5 blank,brown,veg,6 orange,red,fruit,4 orange,orange,fruit,5 

this appears you're asking for. hash isn't appropriate relating integers strings — want array that. didn't explain should happen when new number doesn't correspond of original values, i've used blank own code does

use strict; use warnings 'all';  @fruits;  chomp(my @data = <data>);  ( @data ) {     @fields = split /,/;     ($fruit, $n) = @fields[0,3];     $fruits[$n] = $fruit; }  ( @data ) {     @fields = split /,/;     $fields[0] = $fruits[++$fields[3]] // 'blank';     print join(',', @fields), "\n"; }  __data__ apple,green,fruit,1 turnip,white,veg,2 plum,red,fruit,3 apple,green,fruit,1 plum,red,fruit,3 orange,orange,fruit,4 spud,brown,veg,5 plum,red,fruit,3 orange,green,fruit,4 plum,red,fruit,3 orange,orange,fruit,4 spud,brown,veg,5 plum,red,fruit,3 orange,orange,fruit,4 

output

turnip,green,fruit,2 plum,white,veg,3 orange,red,fruit,4 turnip,green,fruit,2 orange,red,fruit,4 spud,orange,fruit,5 blank,brown,veg,6 orange,red,fruit,4 spud,green,fruit,5 orange,red,fruit,4 spud,orange,fruit,5 blank,brown,veg,6 orange,red,fruit,4 spud,orange,fruit,5 

Comments

Popular posts from this blog

routing - AngularJS State management ->load multiple states in one page -

python - GRASS parser() error -

Swift game error message -