logo
Free, Micro AI Code Reviews That Run on Git Commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, Micro AI Code Reviews That Run on Git Commit | Product Hunt git-lrc - Free, Micro AI Code Reviews That Run on Git Commit | Product Hunt

Lintian::SlidingWindow - Lintian interface to sliding window match

Author

Originally written by Bastien ROUCARIES for Lintian.

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.

Description

Lintian::SlidingWindow provides a way of matching some pattern, including multi line pattern, without needing to fully load the file in memory.

Diagnostics

no data type specified

Instance Methods

readwindow Return a new block of sliding window. Return undef at end of file. "blocksize" blocknumber handle blocksub

Name

Lintian::SlidingWindow - Lintian interface to sliding window match

See Also

lintian(1) Lintian v2.122.0ubuntu1 2025-05-01 Lintian::SlidingWindow(3)

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'; } } }

See Also