Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"

Re: Sorting one column of results

by choroba (Chancellor)
on Nov 12, 2012 at 10:40 UTC ( #1003412=note: print w/replies, xml ) Need Help??

in reply to Sorting one column of results

Instead of printing to OUT, push [@text] to an array. Then, sort the array by { $a->[10] cmp $b->[10] } and print map @$_ it.
لսႽ ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ

Replies are listed 'Best First'.
Re^2: Sorting one column of results
by perlnoobster (Sexton) on Nov 12, 2012 at 10:58 UTC
    hello choroba, Thank you for replying, I have adjusted the coding to the following but it still does not work?, please help?
    my $infile="orders.txt"; my $output2 = 'orders_today.txt'; open (OUT, "+>$output2"); open (FILE, $infile) or die "ERROR: File does not exist\n"; for (<FILE>) { my @text =(); @text = split /\t/,$_; chomp @text; push (@text, $text[0]); push (@text, $text[1]); push (@text,$text[2]); push (@text,$text[3]); { $a->[10] cmp $b->[10] } print map @$_ }
      I assumed you knew more about Perl. My fault. When using a function you do not know yet, consult its documentation.
      Here is what I had in mind:
      #!/usr/bin/perl use warnings; use strict; my $infile = 'orders.txt'; my $output = 'orders_today.txt'; open my $IN, '<', $infile or die "ERROR: Cannot open '$infile': $!"; my @out; while (<$IN>) { chomp; my @text = split /\t/; push @out, [@text]; } open my $OUT, '>', $output or die "Cannot open '$output': $!"; print {$OUT} map "@$_\n", sort { $a->[10] cmp $b->[10] } @out;
      لսႽ ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ
        hello choroba, Thank you for replying, the coding works however the output is all in one line, even though the split function is in the coding? not sure why? and is it possible to only print the following (as opposed to the entire original file?) print OUT "$text[10]\n$text[11]\nQuantity:$text[12]\n\n$text[16]\n$text[17]\n$text[18]\n$text[19]\n$text[20]\n$text[21]\n$text[22]\n$text[23]\n\n\n"; Thank you so much :)!

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1003412]
marioroy At a large firm, had to awaken a security guy a few times so that nobody would catch him sleeping.
marioroy On a large dairy farm, almost went off the road with a 10 wheeler from exhaustion. On the farm, almost went off the silo with a big tractor. At the Fransiscan monastery, almost slipped off the dome while painting it.
[marioroy]: In Saudi Arabia caught fire but didn't burn. I think angels exist.
Lady_Aleena clean up after dinner finally.
[Discipulus]: uch! so we are twice lucky to have MCE..;=)
[marioroy]: Working a midnight graveyard shift, on the way home ran out of gas. just 2 minutes later somebody stops with a small tank of gas. It's wierd. There's always someone nearby for some reason.
[Lady_Aleena]: I was the one who stop[ed in the middle of a cold night to pick up a small family walking to a gas station. I got a few gallons of free gas for the round trip, and the grandmother said she'd pray for me.
[marioroy]: Folks do not know it, but MCE was ridiculously difficult. At Niagra Falls, heard a voice on enabling Grace while in the mist boat. That 10x performance is possible.

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (9)
As of 2017-05-29 08:24 GMT
Find Nodes?
    Voting Booth?