use IO::File; package Log; sub new { my ($class, $file) = @_; my $self = bless {}, $class; $self{fh} = IO::File->new( $file, ">>" ) or die $!; return $self; } sub log { my $self = shift; $self{fh}->print( map { scalar localtime() . " $_\n" } @_ ); } sub DESTROY { my $self = shift; $self{fh}->print scalar localtime(), "Finished\n"; $self{fh}->close; }