Peter 3
Peter 15
Peter 5
John 1
John 7
Mike 4
####
use Tie::File::AnyData;
my $coderef = sub {
## Code to retrieve one by one the records from a file (one record per call)
};
tie my @data, 'Tie::File::AnyData', $file, code => $coderef;
## Use the tied array
untie @data;
####
use Tie::File::AnyData;
tie my @data, 'Tie::File::AnyData', $file;
## Use the tied array as with Tie::File
####
Peter 3
Peter 15
Peter 5
John 1
John 7
Mike 4
####
use Tie::File::AnyData::CSV;
tie my @arr, 'Tie::File::AnyData::CSV', $file or die;
print "$arr[0]\n";
####
Peter 3
Peter 15
Peter 5
####
use Tie::File::AnyData::Bio::Fasta;
tie my @fastaArray, 'Tie::File::AnyData::Bio::Fasta' or die $!;
# Substitute the 10th sequence:
$fastaArray[9] = $newsequence;
# Get 10 random sequences:
use List::Util qw/shuffle/;
my @out = (shuffle @fastaArray)[0..9];