App-Asciio

 view release on metacpan or  search on metacpan

setup/import_export/perl.pl  view on Meta::CPAN


#----------------------------------------------------------------------------------------------------------------------------

use File::Slurp ;
use Data::Dumper ;
use List::Util qw(max);
use File::Basename ;

#~ use Compress::LZF ':compress';
use Compress::Bzip2 qw(:all :utilities :gzip);
use MIME::Base64 ();

my $BASE64_HEADER = (' ' x 120)  .  '#asciio' ;
my $BASE64_HEADER_SIZE = length($BASE64_HEADER) ;

#----------------------------------------------------------------------------------------------------------------------------

register_import_export_handlers 
	(
	pod => 
		{
		IMPORT => \&import_pod,
		EXPORT => \&export_pod,
		},
		
	pl => 
		{
		IMPORT => \&import_pod,
		EXPORT => \&export_pod,
		},
		
	pm => 
		{
		IMPORT => \&import_pod,
		EXPORT => \&export_pod,
		},
	) ;

#----------------------------------------------------------------------------------------------------------------------------

sub import_pod
{
my ($self, $file)  = @_ ;

my ($base_name, $path, $extension) = File::Basename::fileparse($file, ('\..*')) ;
my $file_name = $base_name . $extension ;

my ($base64_data, $header, $footer) = get_base64_data($file_name) ;

my $decoded_base64 = MIME::Base64::decode($base64_data);
my $self_to_resurect =  decompress($decoded_base64) ;

my $VAR1 ;
my $resurected_self =  eval $self_to_resurect ;
die $@ if $@ ;

return($resurected_self, $file, {HEADER => $header, FOOTER => $footer}) ;
}

sub get_base64_data
{
=pod
find all asciio sections
select one section
extract section



( run in 2.026 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )