http://qs321.pair.com?node_id=1212652


in reply to Re: Splitting a large file into smaller files according to indexes
in thread Splitting a large file into smaller files according to indexes

> Are you sure that your "mrule" tokens are grouped ?

Yes, I am sure the "mrule" tokens are grouped , You would not see something like this
mpg=1 mrule=140 reg=7989 score=10625 rank=0 perc=100 mp_demand=100 mpg=2 mrule=140 reg=7989 score=10625 rank=0 perc=100 mp_demand=40 mpg=3 mrule=150 reg=7989 score=0 rank=0 perc=100 mp_demand=20 mpg=4 mrule=150 reg=7989 score=10625 rank=0 perc=100 mp_demand=40 mpg=3 mrule=140 reg=7989 score=0 rank=0 perc=100 mp_demand=20
That is, we would not see a line with "mrule=140" repeat before and after a different maprule.

I tried running your code, but probably it is hitting the file limit. After creating 252 files, I get an error as

bos-mp96h:~ jvx$ ./partition_file.pl asgn.txt Can't write to '00000021.log': Too many open files bos-mp96h:~ jvx$ ls -ltr | grep 'log' | wc -l 252

Replies are listed 'Best First'.
Re^3: Splitting a large file into smaller files according to indexes
by shmem (Chancellor) on Apr 12, 2018 at 11:31 UTC
    After creating 252 files, I get an error as ...

    Summing STDOUT,STDERR,STDIN to 252 gives 255... very tight limits you've got on your machine. What OS are you running?

    perl -le'print map{pack c,($-++?1:13)+ord}split//,ESEL'
      I am running this on mac OS.