fork download
  1. #!/usr/bin/perl
  2.  
  3. # zip was only added to List::Util v1.56 2021-03-30
  4. # and this platform has an older version, so we provide
  5. # our own simplistic version here
  6.  
  7. use v5.10;
  8.  
  9. sub zip (\@\@) {
  10. my ($a, $b) = @_;
  11. my @z;
  12. for (my $i; $i < @$a and $i < @$b; $i++ ) {
  13. push @z, [ $a->[$i], $b->[$i] ];
  14. }
  15. return @z;
  16. }
  17.  
  18. # on your platform you can probably add zip to the list below
  19. use List::Util qw(pairmap unpairs);
  20.  
  21. @keys = qw(x y a f e n);
  22. @vals = qw(1 2 3 4 5 6);
  23.  
  24. pairmap { push @new_keys, $a; push @new_vals, $b }
  25. unpairs
  26. sort { $a->[0] cmp $b->[0] }
  27. zip @keys, @vals;
  28.  
  29. say join ', ', @new_keys;
  30. say join ', ', @new_vals;
Success #stdin #stdout 0.01s 5636KB
stdin
Standard input is empty
stdout
a, e, f, n, x, y
3, 5, 4, 6, 1, 2