#!/usr/bin/perl -w
use warnings;
use strict;
use FileHandle;
#use Data::Dumper;
$|=1;

my $files=[
	'/var/log/liquidsoap/play.log',
	'/var/log/icecast2/error.log',
	'/var/log/syslog'
];
my $handle={};

for my $file (@$files){
	$handle->{$file}=open_file($file);
}

while(1 == 1){
	for my $file (@$files){
		my $fh=$handle->{$file};
		if ( (defined $fh) && ($fh->opened()) ){
			while (<$fh>){
				print $file."\t".$_ ;
			}
		}
	}
	sleep 1;
	for my $file (@$files){
		my $fh=$handle->{$file};
		$fh->seek (0,1) if ( (defined $fh) && ($fh->opened()) );
	}
}

sub open_file{
	my $file=shift;

	unless (-e $file){
		print "file not exists: '$file'\n";
		return undef;
	}
	my $fh=new FileHandle;
	$fh->open ("< ".$file) || print ('cannot open: '.$file."\n");
	$fh->seek (0,2) if (defined $fh && $fh->opened());
	return $fh;
}

