Tag Meaning ----|---------------------- * Always include line & Include line if ALL parameters and dependencies are true. | Include line if ANY parameters and dependencies are true. # Never include line, i.e. this line is a comment #### Symbol | Meaning | Example | In Query | Bind Var --------|-------------------|---------|--------------|---------- ?? Named Placeholder ?foo? '?' YES !! Dependency !foo! Empty string NO !~! Negated Dependency !~foo! Empty string NO #### my $sql = <<'END'; # TAG CODE with PLACEHOLDERS and DEPENDENCIES * SELECT & count(*), !want_count! & some, !want_data! & stuff, !want_data! * WHERE * foo = ?foo? & AND bar = ?bar? & ORDER BY someting !want_data! & LIMIT ?page_size? !want_data! & OFFSET ?offset? !want_data! END my ($query, @bind_vars) = DBIx::PreQL->build_query( query => $sql, data => { foo => $foo, bar => $bar, want_count => !!$count_only, want_data => !$count_only, page_size => $page_size, $offset => $page_size * $page_number, }, ); #### SELECT some, stuff WHERE foo = ? AND bar = ? ORDER BY someting LIMIT ? OFFSET ? BINDVARS: 'Foolike', 'Barlike', 3, 30