sub pass3 { my ($CFG) = @_; foreach $entry (@{$CFG->{OPT}->{O}}) { [...] # parse the sliceterm and create corresponding # Perl 5 statement containing Bit::Vector calls ($cmds, $var) = SliceTerm::Parse($slice); [...] # now evaluate the Bit::Vector statements # and move result to $set eval "$cmds; \$set = $var"; [...] # now scan the set and write out characters # which have a corresponding bit set. $start = 0; while (($start < $set->Size()) && (($min, $max) = $set->Interval_Scan_inc($start))) { $out->print(substr($CFG->{INPUT}->{PLAIN}, $min, ($max-$min+1))); $start = $max + 2; } [...] }