package Tie::File::AnyData; use strict; use warnings; use Tie::File; sub TIEARRAY { my ($pack,$file,%opts) = @_; if (defined $opts{'code'}){ my $code = $opts{'code'}; delete $opts{'code'}; *Tie::File::get_next_rec = $code; no warnings 'redefine'; *Tie::File::_read_record = sub { my ($self) = @_; my $rec; $rec = Tie::File::get_next_rec ( $self->{'fh'} ); return $rec; } } Tie::File::TIEARRAY("Tie::File",$file,%opts); } 1;