summaryrefslogtreecommitdiff
path: root/usr.sbin/pkg_add/OpenBSD/PkgSpec.pod
blob: ef92fce33561d03ea67c9d7619abc8ad8f6b32f3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
$OpenBSD: PkgSpec.pod,v 1.1 2020/12/20 15:30:58 daniel Exp $

=head1 NAME

OpenBSD::PkgSpec - C<packages-specs(7)> handling

=head1 SYNOPSIS

   use OpenBSD::Search; # which pulls in OpenBSD::PkgSpec when needed

   my $spec = OpenBSD::Search::PkgSpec->new($pattern);
   @sublist = $spec->filter(@list);

=head1 DESCRIPTION

C<OpenBSD::PkgSpec> is the canonical interface to C<packages-specs(7)>
handling.

A package specification C<$pattern> is a string that can be used to
extract matching package names from a C<@list>.  The resulting list
C<@sublist> will only hold the package names that match the specification.

For performance reason, the result may contain duplicates.

Note that any pattern will create a C<PkgSpec> object. If the syntax is
incorrect, the resulting object won't match anything. Use
C<$spec-E<gt>is_valid> to check for correctness.