------
| get list of files
----
\
------
| check each file for from address
----
\
------
| if address matching explode plaintext attachment into outdir
----
\
------
| scan each exploded plaintext for ... links?
----
\
------
| add each found link to logfile
----
####
#!/usr/bin/perl --
use strict; use warnings;
use MIME::Parser;
...
Main( @ARGV );
exit( 0 );
sub Mainsky {
...
my @files = get_files( $fromdir );
for my $file ( @files ){
if( matches_adresses_iwant( $file ) ){
informit( "explode_plaintext_fromfile_into( $file, $outdir )" );
explode_plaintext_fromfile_into( $file, $outdir );
my @links = extract_links( $outdir );
if( @links ){
log_links( @links );
} else {
informit( "not extract_links( $file )" );
}
} else {
informit( "not matches_adresses_iwant( $file )" );
}
}
}
sub get_files { ... }
sub matches_adresses_iwant { ... }
sub extract_links { ... }
sub explode_plaintext_fromfile_into { ... }
sub log_links { ... }
sub informit { print STDOUT @_,"\n" }
__END__
####
#!/usr/bin/perl --
use strict; use warnings;
use MIME::Parser;
...
Main( @ARGV );
exit( 0 );
sub Mainskee {
...
my @files = get_files( $fromdir );
for my $file ( @files ){
if( matches_adresses_iwant( $file ) ){
informit( "explode_plaintext_fromfile_into( $file, $outdir )" );
lincon_plaintext_logs( $file, $outdir );
} else {
informit( "not matches_adresses_iwant( $file )" );
}
}
}
sub lincon_plaintext_logs {
my( $outdir , $file ) = @_;
explode_plaintext_fromfile_into( $file, $outdir );
my @links = extract_links( $outdir );
if( @links ){
log_links( @links );
} else {
informit( "not extract_links( $file )" );
}
}
sub get_files { ... }
sub matches_adresses_iwant { ... }
sub extract_links { ... }
sub explode_plaintext_fromfile_into { ... }
sub log_links { ... }
sub informit { print STDOUT @_,"\n" }
__END__
####
#!/usr/bin/perl --
use strict; use warnings;
use MIME::Parser;
...
Main( @ARGV );
exit( 0 );
sub Maincakes {
...
my @files = get_files( $fromdir );
for my $file ( @files ){
iwant_iphone_links( $file )
or iwant_other_links( $file )
or iwant_pancake_links( $file );
}
}
sub iwant_iphone_links { ...; return $stop_or_keep_going }
sub iwant_other_links { ...; return 1 }
sub iwant_pancake_links { ...; return 0 }
__END__