ST logic

sub ST(&@)
 {
  my $metric=shift; map{$_->[0]} sort{$b->[1]<=>$a->[1]} map{[$_,&{$metric}]} @_;
 };

print NEWFILE ST{return (split/\|/)[1]}<OLDFILE>;

# What corresponds to the above code in one line?
# (How do I remove the subroutine?)
LVL 1
superquestionsAsked:
Who is Participating?
 
ozoConnect With a Mentor Commented:
#assumng (split/\|/)[1] are integers
print NEWFILE map{/\|(.*)/s}sort map{join'|',5e14-(/\|([^|]*)/)[0],$_}<OLDFILE>;
0
 
superquestionsAuthor Commented:
# The complete code is like this:

@list=("joined.txt","posted.txt");

sub ST(&@)
 {
  my $metric=shift; map{$_->[0]} sort{$b->[1]<=>$a->[1]} map{[$_,&{$metric}]} @_;
 };

foreach $file(@list)
 {
  open(OLDFILE, "<$file.txt");
   flock OLDFILE, 1;

   open(NEWFILE, ">$file.tmp");
    flock NEWFILE, 2;

    print NEWFILE ST{return (split/\|/)[1]}<OLDFILE>;

   close(NEWFILE);
  close(OLDFILE);
 };

# Is it an intenger?
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.