bo: server/perl-kolab/Kolab-Util Changes, NONE, 1.1 MANIFEST, NONE, 1.1 META.yml, NONE, 1.1 Makefile.PL, NONE, 1.1 README, NONE, 1.1 Util.pm, NONE, 1.1
cvs at intevation.de
cvs at intevation.de
Wed Mar 31 17:36:54 CEST 2004
Author: bo
Update of /kolabrepository/server/perl-kolab/Kolab-Util
In directory doto:/tmp/cvs-serv3870/perl-kolab/Kolab-Util
Added Files:
Changes MANIFEST META.yml Makefile.PL README Util.pm
Log Message:
perl-kolab packages imported
--- NEW FILE: Changes ---
Revision history for Perl extension Kolab::Util.
0.01 Tue Nov 4 10:48:10 2003
- original version; created by h2xs 1.22 with options
-XA -n Kolab::Util
--- NEW FILE: MANIFEST ---
Changes
Makefile.PL
MANIFEST
README
Util.pm
t/1.t
META.yml Module meta-data (added by MakeMaker)
--- NEW FILE: META.yml ---
# http://module-build.sourceforge.net/META-spec.html
#XXXXXXX This is a prototype!!! It will change in the future!!! XXXXX#
name: Kolab-Util
version: 0.9
version_from: Util.pm
installdirs: site
requires:
distribution_type: module
generated_by: ExtUtils::MakeMaker version 6.17
--- NEW FILE: Makefile.PL ---
use 5.008;
use ExtUtils::MakeMaker;
# See lib/ExtUtils/MakeMaker.pm for details of how to influence
# the contents of the Makefile that is written.
WriteMakefile(
'NAME' => 'Kolab::Util',
'VERSION_FROM' => 'Util.pm', # finds $VERSION
'PREREQ_PM' => {}, # e.g., Module::Name => 1.1
($] >= 5.005 ? ## Add these new keywords supported since 5.005
(ABSTRACT_FROM => 'Util.pm', # retrieve abstract from module
AUTHOR => 'root <root at nonet>') : ()),
);
--- NEW FILE: README ---
Kolab/Util version 0.9
=======================
The README is used to introduce the module and provide instructions on
how to install the module, any machine dependencies it may have (for
example C compilers and installed libraries) and any other information
that should be provided before the module is installed.
A README file is required for CPAN modules since CPAN extracts the
README file from a module distribution so that people browsing the
archive can use it get an idea of the modules uses. It is usually a
good idea to provide version information here so that people can
decide whether fixes for the module are worth downloading.
INSTALLATION
To install this module type the following:
perl Makefile.PL
make
make test
make install
COPYRIGHT AND LICENCE
Copyright (c) 2003 Code Fusion cc
Writen by Stuart Bingë <s.binge at codefusion.co.za>
Portions based on work by the following people:
(c) 2003 Tassilo Erlewein <tassilo.erlewein at erfrakon.de>
(c) 2003 Martin Konold <martin.konold at erfrakon.de>
(c) 2003 Achim Frank <achim.frank at erfrakon.de>
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 2, 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 can view the GNU General Public License, online, at the GNU
Project's homepage; see <http://www.gnu.org/licenses/gpl.html>.
--- NEW FILE: Util.pm ---
package Kolab::Util;
##
## Copyright (c) 2003 Code Fusion cc
##
## Writen by Stuart Bingë <s.binge at codefusion.co.za>
##
## 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 2, 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 can view the GNU General Public License, online, at the GNU
## Project's homepage; see <http://www.gnu.org/licenses/gpl.html>.
##
use 5.008;
use strict;
use warnings;
use IO::File;
require Exporter;
our @ISA = qw(Exporter);
our %EXPORT_TAGS = (
'all' => [ qw(
) ]
);
our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
our @EXPORT = qw(
&trim
&ldapDateToEpoch
&readConfig
&readList
);
our $VERSION = '0.9';
sub trim
{
my $string = shift;
if (defined $string) {
$string =~ s/^\s+//g;
$string =~ s/\s+$//g;
chomp $string;
}
return $string;
}
sub ldapDateToEpoch
{
my $ldapdate = shift;
(my $y, my $m, my $d, my $h, my $mi, my $se) = unpack('A4A2A2A2A2A2', $ldapdate);
return timelocal($se, $mi, $h, $d, $m, $y);
}
sub readConfig
{
my $ref = shift;
my (%cfg, $file);
if (ref($ref) eq 'HASH') {
%cfg = %$ref;
$file = shift || 0;
} else {
$file = $ref;
}
if (!$file) { return %cfg; }
my $sep = shift || ':';
$sep = '\s' if ($sep eq ' ' || $sep eq '#');
my $fd;
if (!($fd = IO::File->new($file, 'r'))) { return %cfg; }
foreach (<$fd>) {
if (/^([^$sep#]+)$sep+([^#]*)/) {
$cfg{trim($1)} = trim($2);
}
}
return %cfg;
}
sub readList
{
my @list;
my $file = shift || 0;
if (!$file) { return @list; }
my $fd;
if (!($fd = IO::File->new($file, 'r'))) { return @list; }
foreach (<$fd>) {
if (/^([^#]+)/) {
my $temp = trim($1);
next if $temp eq '';
push(@list, ($temp));
}
}
return @list;
}
1;
__END__
# Below is stub documentation for your module. You'd better edit it!
=head1 NAME
Kolab::Util - Perl extension for general utility functions
=head1 ABSTRACT
Kolab::Util contains several basic utility functions.
=head1 AUTHOR
Stuart Bingë, E<lt>s.binge at codefusion.co.zaE<gt>
=head1 COPYRIGHT AND LICENSE
Copyright (c) 2003 Code Fusion cc
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 2, 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 can view the GNU General Public License, online, at the GNU
Project's homepage; see <http://www.gnu.org/licenses/gpl.html>.
=cut
More information about the commits
mailing list