Scroll to navigation

Debian::Copyright::Stanza(3pm) User Contributed Perl Documentation Debian::Copyright::Stanza(3pm)

NAME

Debian::Copyright::Stanza - single stanza of Debian copyright file

VERSION

This document describes Debian::Copyright::Stanza version 0.2 .

SYNOPSIS

    package Header;
    use base 'Debian::Copyright::Stanza';
    use constant fields => qw(
        Format_Specification
        Name
        Source
        Maintainer
        X_Comment
    );
    1;

DESCRIPTION

Debian::Copyright::Stanza is the base class for Debian::Copyright::Stanza::Header, Debian::Copyright::Stanza::Files and Debian::Copyright::Stanza::License classes.

FIELDS

Stanza fields are to be defined in the class method fields. Typically this can be done like:

    use constant fields => qw( Foo Bar Baz );

Fields that are to contain dependency lists (as per "is_dependency_list" method below) are automatically converted to instances of the Debian::Dependencies class.

CONSTRUCTOR

new( { field => value, ... } )

Creates a new Debian::Copyright::Stanza object and optionally initialises it with the supplied data. The object is hashref based and tied to Tie::IxHash.

You may use dashes for initial field names, but these will be converted to underscores:

    my $s = Debian::Copyright::Stanza::Header( {Name => "Blah"} );
    print $s->Name;

METHODS

is_or_separated($field)

Returns true if the given field is to contain a 'or'-separated list of values. This is used in stringification, when considering where to wrap long lines.

get($field)

Overrides the default get method from Class::Accessor with Tie::IxHash's FETCH.

set( $field, $value )

Overrides the default set method from Class::Accessor with Tie::IxHash's STORE.

as_string([$width])

Returns a string representation of the object. Ready to be printed into a real debian/copyright file. Used as a stringification operator.

COPYRIGHT & LICENSE

Copyright (C) 2011 Nicholas Bamber <nicholas@periapt.co.uk>

This module is substantially based upon Debian::Control::Stanza. Copyright (C) 2009 Damyan Ivanov dmn@debian.org [Portions]

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.

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.

2022-10-14 perl v5.34.0