--- trunk2/lib/WebPAC.pm 2004/09/11 08:36:38 422 +++ trunk2/lib/WebPAC.pm 2004/09/12 20:31:34 431 @@ -148,12 +148,16 @@ $webpac->open_isis( filename => '/data/ISIS/ISIS', code_page => '852', - limit_mfn => '500', + limit_mfn => 500, + start_mfn => 6000, lookup => [ ... ], ); By default, ISIS code page is assumed to be C<852>. +If optional parametar C is set, this will be first MFN to read +from database (so you can skip beginning of your database if you need to). + If optional parametar C is set, it will read just 500 records from database in example above. @@ -198,13 +202,19 @@ my $isis_db = OpenIsis::open($arg->{'filename'}); my $maxmfn = OpenIsis::maxRowid( $isis_db ) || 1; + my $startmfn = 1; + + if (my $s = $self->{'start_mfn'}) { + $log->info("skipping to MFN $s"); + $startmfn = $s; + } - $maxmfn = $self->{limit_mfn} if ($self->{limit_mfn}); + $maxmfn = $startmfn + $self->{limit_mfn} if ($self->{limit_mfn}); - $log->info("processing $maxmfn records..."); + $log->info("processing ",($maxmfn-$startmfn)." records..."); # read database - for (my $mfn = 1; $mfn <= $maxmfn; $mfn++) { + for (my $mfn = $startmfn; $mfn <= $maxmfn; $mfn++) { $log->debug("mfn: $mfn\n"); @@ -252,7 +262,7 @@ } - $self->{'current_mfn'} = 1; + $self->{'current_mfn'} = $startmfn; $self->{'last_pcnt'} = 0; $log->debug("max mfn: $maxmfn");