use strict; my $sql = <<'--SQL--'; aaaa a baaaab a --SQL-- use HOP::Lexer 'make_lexer'; my @sql = $sql; my $lexer = make_lexer( sub { shift @sql }, # iterator [ A => qr/a+/i ], [ BAB => qr/ba+b/i ], [ SPACE => qr/\s+/, sub {} ], ); #### ['A','aaaa'], ['A','a'], 'b', ['A','aaaa'], 'b', ['A','a'] #### [ WORD => qr/\w+/i ], [ DQWORD => qr/"\w+"/ ],