Separating rows in a list according to value of first column

I have a list of data, I have sorted it into numerical ascending order according to the first column.

I have to now read the master file and separate out into new files all of the rows that start with the same number.

Could you help me please with code to do this ?

thanks
Europa MacDonaldChief slayer of dragonsAsked:
Who is Participating?
 
ozoCommented:
It is waiting for input.  Either pipe in the input, or give it a filename on the command line.
If you always want to read from master.vim, you can set it in the program:
#!/usr/bin/perl
use strict;
use warnings;
@ARGV=('master.vim') unless @ARGV; # read from master.vim if no file specified on command line
my $f='';
while( <> ){
    /(\d+)/ and $1 ne $f and $f=$1 , (open STDOUT,">>",$f or warn "$f $!");
    print;
}
0
 
ozoCommented:
perl -ape 'open STDOUT,">>$F[0]"'  file
0
 
Europa MacDonaldChief slayer of dragonsAuthor Commented:
sorry, should have asked for it in a .pl file format
0
 
ozoCommented:
#!/usr/bin/perl
use strict;
use warnings;
my $f='';
while( <> ){
    /(\d+)/ and $1 ne $f and $f=$1 , (open STDOUT,">>",$f or warn "$f $!");
    print;
}
0
 
Europa MacDonaldChief slayer of dragonsAuthor Commented:
I tried

#!/usr/bin/perl
use strict;
use warnings;
my $f='master.vim';
while( <> ){
    /(\d+)/ and $1 ne $f and $f=$1 , (open STDOUT,">>",$f or warn "$f $!");
    print;
}

thankyou

but it just hangs for a long time
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.