use File::Tail; my $file_name = qw( logfile.log ) ; my $tail_file = File::Tail->new( name => $file_name, resetafter => 3, adjustafter => 5 ) ; my $tail_line ; my %pattern = ( "Pattern1" => "Short Pattern to put on DB 1", "Pattern2" => "Short Pattern to put on DB 2", "Pattern3" => "Short Pattern to put on DB 3", ) ; while ( defined($tail_line = $tail_file->read) ) { foreach my $key ( keys %pattern ) { if ( $tail_line =~ /$key/ ) { --->> insert "Short Pattern" into the DB } } }