NAME
String::Copyright - Representation of text-based copyright statements
VERSION
Version 0.003001
SYNOPSIS
use String::Copyright;
my $copyright = copyright(<<'END');
copr. © 1999,2000 Foo Barbaz <
[email protected]> and Acme Corp.
Copyright (c) 2001,2004 Foo (work address) <
[email protected]>
Copyright 2003, Foo B. and friends
© 2000, 2002 Foo Barbaz <
[email protected]>
END
print $copyright;
# Copyright 1999-2000 Foo Barbaz <
[email protected]> and Acme Corp.
# Copyright 2000, 2002 Foo Barbaz and Acme Corp.
# Copyright 2001, 2004 Foo (work address) <
[email protected]>
# Copyright 2003 Foo B. and friends
print $copyright->normalize(
alias => {
[ '
[email protected]' => [ '
[email protected]', '
[email protected]'] ] }
mangle => {
[ 's/Foo Barbaz\K(?= and .*)$/ <
[email protected]>/' ] }
);
# Copyright 1999-2000, 2002-2003 Acme Corp.
# Copyright 1999-2004 Foo Barbaz <
[email protected]>
# Copyright 2003 Foo B. and friends
DESCRIPTION
String::Copyright Parses common styles of copyright statements and
serializes in normalized format.
OPTIONS
Options can be set as an argument to the 'use' statement.
threshold, threshold_before, threshold_after
use String::Copyright { threshold_after => 5 };
Stop parsing after this many lines whithout copyright information, before
or after having found any copyright information at all. `threshold` sets
both `threshold_before` and `threshold_after`.
By default unset: All lines are parsed.
format( \&sub )
use String::Copyright { format => \&NGU_style } };
sub GNU_style {
my ( $years, $owners ) = @_;
return 'Copyright (C) ' . join ' ', $years || '', $owners || '';
}
FUNCTIONS
Exports one function: `copyright`. This module uses Exporter::Tiny to
export functions, which allows for flexible import options; see the
Exporter::Tiny documentation for details.
SEE ALSO
* Encode
* Exporter::Tiny
BUGS/CAVEATS/etc
String::Copyright operates on strings, not bytes. Data encoded as UTF-8,
Latin1 or other formats need to be decoded to strings before use.
Only ASCII characters and © (copyright sign) are directly processed.
If copyright sign is mis-detected or accents or multi-byte characters
display wrong, then most likely the data was not decoded into a string.
If ranges or lists of years are not tidied, then maybe it contained
non-ASCII whitespace or digits.
AUTHOR
Jonas Smedegaard `<
[email protected]>`
COPYRIGHT AND LICENSE
Derived from App::Licensecheck originally part of the KDE SDK, originally
introduced by Stefan Westerfeld `<
[email protected]>`; and on the script
licensecheck2dep5 part of Debian CDBS tool, written by Jonas Smedegaard.
Copyright © 2007, 2008 Adam D. Barratt
Copyright © 2005-2012, 2016 Jonas Smedegaard
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the Free
Software Foundation; either version 3, or (at your option) any later
version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License along
with this program. If not, see <
https://www.gnu.org/licenses/>.