IO-Compress
view release on metacpan or search on metacpan
lib/IO/Compress/Base/Common.pm view on Meta::CPAN
}
sub IO::Compress::Base::Validator::validateInputArray
{
my $self = shift ;
if ( @{ $_[0] } == 0 )
{
return $self->saveErrorString("empty array reference") ;
}
foreach my $element ( @{ $_[0] } )
{
my $inType = whatIsInput($element);
if (! $inType)
{
$self->croakError("unknown input parameter") ;
}
elsif($inType eq 'filename')
{
$self->validateInputFilenames($element)
or return undef ;
}
else
{
$self->croakError("not a filename") ;
}
}
return 1 ;
}
#sub IO::Compress::Base::Validator::validateHash
#{
# my $self = shift ;
# my $href = shift ;
#
# while (my($k, $v) = each %$href)
# {
# my $ktype = whatIsInput($k);
# my $vtype = whatIsOutput($v, WANT_EXT|WANT_UNDEF) ;
#
# if ($ktype ne 'filename')
# {
# return $self->saveErrorString("hash key not filename") ;
# }
#
# my %valid = map { $_ => 1 } qw(filename buffer array undef handle) ;
# if (! $valid{$vtype})
# {
# return $self->saveErrorString("hash value not ok") ;
# }
# }
#
# return $self ;
#}
sub createSelfTiedObject
{
my $class = shift || (caller)[0] ;
my $error_ref = shift ;
my $obj = bless Symbol::gensym(), ref($class) || $class;
tie *$obj, $obj if $] >= 5.005;
*$obj->{Closed} = 1 ;
$$error_ref = '';
*$obj->{Error} = $error_ref ;
my $errno = 0 ;
*$obj->{ErrorNo} = \$errno ;
return $obj;
}
#package Parse::Parameters ;
#
#
#require Exporter;
#our ($VERSION, @ISA, @EXPORT);
#$VERSION = '2.000_08';
#@ISA = qw(Exporter);
$EXPORT_TAGS{Parse} = [qw( ParseParameters
Parse_any Parse_unsigned Parse_signed
Parse_boolean Parse_string
Parse_code
Parse_writable_scalar
)
];
push @EXPORT, @{ $EXPORT_TAGS{Parse} } ;
use constant Parse_any => 0x01;
use constant Parse_unsigned => 0x02;
use constant Parse_signed => 0x04;
use constant Parse_boolean => 0x08;
use constant Parse_string => 0x10;
use constant Parse_code => 0x20;
#use constant Parse_store_ref => 0x100 ;
#use constant Parse_multiple => 0x100 ;
use constant Parse_writable => 0x200 ;
use constant Parse_writable_scalar => 0x400 | Parse_writable ;
use constant OFF_PARSED => 0 ;
use constant OFF_TYPE => 1 ;
use constant OFF_DEFAULT => 2 ;
use constant OFF_FIXED => 3 ;
#use constant OFF_FIRST_ONLY => 4 ;
#use constant OFF_STICKY => 5 ;
use constant IxError => 0;
use constant IxGot => 1 ;
sub ParseParameters
{
my $level = shift || 0 ;
my $sub = (caller($level + 1))[3] ;
( run in 1.041 second using v1.01-cache-2.11-cpan-e93a5daba3e )