table of contents
Lintian::SlidingWindow(3) | Debian Package Checker | Lintian::SlidingWindow(3) |
NAME¶
Lintian::SlidingWindow - Lintian interface to sliding window match
SYNOPSIS¶
use Lintian::SlidingWindow; my $sfd = Lintian::SlidingWindow->new('<','someevilfile.c', sub { $_ = lc($_); }); my $window; while ($window = $sfd->readwindow) { if (index($window, 'evil') > -1) { if($window =~ m/software \s++ shall \s++ be \s++ used \s++ for \s++ good \s*+ ,?+ \s*+ not \s++ evil/xsim) { # do something like : tag 'license-problem-json-evil'; } } }
DESCRIPTION¶
Lintian::SlidingWindow provides a way of matching some pattern, including multi line pattern, without needing to fully load the file in memory.
CLASS METHODS¶
- new(HANDLE[, BLOCKSUB[, BLOCKSIZE]])
- Create a new sliding window by reading from a given HANDLE, which must be
open for reading. Optionally run BLOCKSUB against each block. Note that
BLOCKSUB should apply transform byte by byte and does not depend of
context.
Each window consists of up to two blocks of BLOCKSIZE characters.
INSTANCE METHODS¶
- readwindow
- Return a new block of sliding window. Return undef at end of file.
- "blocksize"
- blocknumber
- handle
- blocksub
DIAGNOSTICS¶
AUTHOR¶
Originally written by Bastien ROUCARIES for Lintian.
SEE ALSO¶
2024-09-29 | Lintian v2.119.0 |