.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "String::Copyright 3pm" .TH String::Copyright 3pm "2022-12-17" "perl v5.36.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" String::Copyright \- Representation of text\-based copyright statements .SH "VERSION" .IX Header "VERSION" Version 0.003014 .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& use String::Copyright; \& \& my $copyright = copyright(<<\*(AqEND\*(Aq); \& copr. © 1999,2000 Foo Barbaz and Acme Corp. \& Copyright (c) 2001,2004 Foo (work address) \& Copyright 2003, Foo B. and friends \& © 2000, 2002 Foo Barbaz \& END \& \& print $copyright; \& \& # Copyright 1999\-2000 Foo Barbaz and Acme Corp. \& # Copyright 2000, 2002 Foo Barbaz and Acme Corp. \& # Copyright 2001, 2004 Foo (work address) \& # Copyright 2003 Foo B. and friends .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" String::Copyright identifies copyright statements in a string and serializes them in a normalized format. .SH "OPTIONS" .IX Header "OPTIONS" Options can be set as an argument to the 'use' statement. .SS "threshold, threshold_before, threshold_after" .IX Subsection "threshold, threshold_before, threshold_after" .Vb 1 \& use String::Copyright { threshold_after => 5 }; .Ve .PP Stop parsing after this many lines without copyright information, before or after having found any copyright information at all. \&\f(CW\*(C`threshold\*(C'\fR sets both \f(CW\*(C`threshold_before\*(C'\fR and \f(CW\*(C`threshold_after\*(C'\fR. .PP By default unset: All lines are parsed. .SS "format( \e&sub )" .IX Subsection "format( &sub )" .Vb 1 \& use String::Copyright { format => \e&GNU_style } }; \& \& sub GNU_style { \& my ( $years, $owners ) = @_; \& \& return \*(AqCopyright (C) \*(Aq . join \*(Aq \*(Aq, $years || \*(Aq\*(Aq, $owners || \*(Aq\*(Aq; \& } .Ve .SH "FUNCTIONS" .IX Header "FUNCTIONS" Exports one function: \f(CW\*(C`copyright\*(C'\fR. This module uses Exporter::Tiny to export functions, which allows for flexible import options; see the Exporter::Tiny documentation for details. .SH "SEE ALSO" .IX Header "SEE ALSO" .IP "\(bu" 4 Encode .IP "\(bu" 4 Exporter::Tiny .SH "BUGS/CAVEATS/etc" .IX Header "BUGS/CAVEATS/etc" String::Copyright operates on strings, not bytes. Data encoded as \s-1UTF\-8,\s0 Latin1 or other formats need to be decoded to strings before use. .PP Only \s-1ASCII\s0 characters and \fB©\fR (copyright sign) are directly processed. .PP If copyright sign is not detected or accents or multi-byte characters display wrong, then most likely the data was not decoded into a string. .PP If ranges or lists of years are not tidied, then maybe it contained non-ASCII whitespace or digits. .SH "AUTHOR" .IX Header "AUTHOR" Jonas Smedegaard \f(CW\*(C`\*(C'\fR .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" This program is based on the script \*(L"licensecheck\*(R" from the \s-1KDE SDK,\s0 originally introduced by Stefan Westerfeld \f(CW\*(C`\*(C'\fR. .PP .Vb 1 \& Copyright © 2007, 2008 Adam D. Barratt \& \& Copyright © 2005\-2012, 2016, 2018, 2020\-2021 Jonas Smedegaard \& \& Copyright © 2018, 2020\-2021 Purism SPC .Ve .PP This program is free software: you can redistribute it and/or modify it under the terms of the \s-1GNU\s0 Affero General Public License as published by the Free Software Foundation, either version 3, or (at your option) any later version. .PP This program is distributed in the hope that it will be useful, but \s-1WITHOUT ANY WARRANTY\s0; without even the implied warranty of \s-1MERCHANTABILITY\s0 or \s-1FITNESS FOR A PARTICULAR PURPOSE.\s0 See the \s-1GNU\s0 Affero General Public License for more details. .PP You should have received a copy of the \s-1GNU\s0 Affero General Public License along with this program. If not, see .