/usr/share/perl5/Rose/Object.pm is in librose-object-perl 0.860-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | package Rose::Object;
use strict;
our $VERSION = '0.860';
sub new
{
my($class) = shift;
my $self = bless {}, $class;
$self->init(@_);
return $self;
}
sub init
{
my($self) = shift;
while(@_)
{
my $method = shift;
$self->$method(shift);
}
}
1;
__END__
=head1 NAME
Rose::Object - A simple object base class.
=head1 SYNOPSIS
package MyObject;
use Rose::Object;
our @ISA = qw(Rose::Object);
sub foo { ... }
sub bar { ... }
...
my $o = MyObject->new(foo => 'abc', bar => 5);
...
=head1 DESCRIPTION
L<Rose::Object> is a generic object base class. It provides very little
functionality, but a healthy dose of convention.
=head1 METHODS
=over 4
=item B<new PARAMS>
Constructs a new, empty, hash-based object based on PARAMS, where PARAMS
are name/value pairs, and then calls L<init|/init> (see below), passing
PARAMS to it unmodified.
=item B<init PARAMS>
Given a list of name/value pairs in PARAMS, calls the object method of
each name, passing the corresponding value as an argument. The methods
are called in the order that they appear in PARAMS. For example:
$o->init(foo => 1, bar => 2);
is equivalent to the sequence:
$o->foo(1);
$o->bar(2);
=back
=head1 AUTHOR
John C. Siracusa (siracusa@gmail.com)
=head1 LICENSE
Copyright (c) 2010 by John C. Siracusa. All rights reserved. This program is
free software; you can redistribute it and/or modify it under the same terms
as Perl itself.
|