package My::Twitter::Account;
use strict ;
use warnings ;
....
sub new {
my $class = shift;
my %parameter_hash;
my $count = @_;
%parameter_hash = @_;
croak( "MISSING FILE : \n " . $useage_howto ) unless( $parameter_hash{ FILE } ) ;
croak( "MISSING HEADINGS: \n " . $useage_howto ) unless( $parameter_hash{ HEADINGS } ) ;
croak( "MISSING NAME : \n " . $useage_howto ) unless( $parameter_hash{ NAME } ) ;
$parameter_hash{ DEBUG } = 0 unless( $parameter_hash{ DEBUG } );
my $self = {
FILE => $parameter_hash{ FILE } ,
HERADINGS => $parameter_hash{ HEADINGS } ,
NAME => $parameter_hash{ NAME } ,
SOME_USEFUL_INFO_MAYBE => $other_useful_info ,
DEBUG => $parameter_hash{ DEBUG } ,
}
bless( $self, $class );
dump( $self ) if( $self->{DEBUG} == 1 );
return $self;
}
...
Other Methods that deal with a SINGLE twitter account here.
####
package My::Twitter::AllAccounts;
use strict ;
use warnings ;
... blah blah blah
sub new {
my $class = shift;
my %parameter_hash;
$parameter_hash{ DEBUG } = 0 unless( $parameter_hash{ DEBUG } );
my @twitter_accounts ;
my $self = {
TWITTER_ACCOUNTS => \@twitter_accounts ,
DEBUG => $parameter_hash{ DEBUG } ,
}
bless( $self, $class );
dump( $self ) if( $self->{DEBUG} == 1 );
return $self;
}
sub add_twitter_account {
my $self = shift ;
my $name = shift ;
my ( $file, $headings ) = _function_that_gets_files_and_headings(); # This can also be inside the Twitter::Account class.
my $twitter_account = new My::Twitter::Account(
NAME => $name ,
FILE => $file ,
HEADINGS => $headings ,
);
push( @{ $self->{ TWITTER_ACCOUNTS } }, $twitter_account ) ;
return 1;
}
##
##
my $twitter_data = new My::Twitter::AllAccounts() ;
my @accounts = qw(
Lady_Aleena
LadyAleena_ABC
LadyAleena_CBS
LadyAleena_FOX
LadyAleena_NBC
LadyAleena_SyFy
LadyAleena_TNT
LadyAleena_USA
LadyAleena_TV
LadyAleena_eros
LadyAleena_home
LadyAleena_test
);
foreach my $account ( @accounts ) {
$twitter_data->add_twitter_account( $account );
}
##
##
# Am assuming you move your functions into the correct classes and write some ... But the below is just for illustration.
$twitter_data->reload_account_data( $account_name );
$twitter_data->get_sum_of_all_accounts();
$twitter_data->remove_twitter_account( $account );
$twitter_data->temporarily_ignore_accounts( [ account1, account2 ] );
$twitter_data->get_sum_of_all_accounts();
$twitter_data->stop_ignoring();