package OOorNO;
use strict;
use Exporter;
$OOorNO::VERSION = 0.0_2; # 9/12/02, 12:46 pm
@OOorNO::ISA = qw( Exporter );
@OOorNO::EXPORT_OK = qw
(
shave_opts coerce_array OOorNO myargs myself
);
%OOorNO::EXPORT_TAGS = ( 'all' => [ @OOorNO::EXPORT_OK ] );
=pod
AUTHOR
Tommy Butler <tommy @ atrixnet.com>
phone: (817)-468-7716
6711 Forest Park Dr
Arlington, TX
76001-8403
COPYRIGHT Tommy Butler. All rights reserved
LISCENCE This software is free, use/distribute under the GNU GPL.
BUGS TO Tommy Butler <perlmod @ atrixnet.com>
=cut
# --------------------------------------------------------
# Constructor
# --------------------------------------------------------
sub new { bless({ }, shift(@_)); }
# --------------------------------------------------------
# OOorNO::OOorNO()
# --------------------------------------------------------
sub OOorNO { return($_[0]) if defined($_[0]) and UNIVERSAL::can($_[0],'can'); }
# --------------------------------------------------------
# OOorNO::myargs()
# --------------------------------------------------------
sub myargs { if (OOorNO(@_)) { shift(@_) } @_; }
# --------------------------------------------------------
# OOorNO::myself()
# --------------------------------------------------------
sub myself { return(@{$_[0]}) if OOorNO( @{$_[0]} ); }
# --------------------------------------------------------
# OOorNO::shave_opts()
# --------------------------------------------------------
sub shave_opts {
my($mamma) = myargs(@_);
return(undef) unless ($mamma && ref($mamma) eq 'ARRAY');
my(@maid) = @$mamma; @$mamma = ();
my($opts) = {};
while (@maid) {
my($o) = shift(@maid)||'';
if ($o =~ /^\Q--\E\w/o) { $opts->{$o} = $o; } else { push(@$mamma, $o); }
}
return($opts);
}
# --------------------------------------------------------
# OOorNO::coerce_array()
# --------------------------------------------------------
sub coerce_array {
my($hashref) = {};
my($i) = 0;
my(@shadow) = myargs(@_);
while (@shadow) {
my($name,$val) = splice(@shadow,0,2);
if (defined($name)) {
$hashref->{$name} = (defined($val)) ? $val : '';
}
else {
++$i;
$hashref->{qq[un-named key no. $i]} = (defined($val)) ? $val : '';
}
}
return($hashref);
}
# --------------------------------------------------------
# OOorNO::DESTROY(), OOorNO::AUTOLOAD()
# --------------------------------------------------------
sub DESTROY { } sub AUTOLOAD { }
# --------------------------------------------------------
# end OOorNO Class, return true on import
# --------------------------------------------------------
1;