File: serialize

package info (click to toggle)
libmath-gsl-perl 0.45-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 192,156 kB
  • sloc: ansic: 895,524; perl: 24,682; makefile: 12
file content (28 lines) | stat: -rwxr-xr-x 814 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/usr/bin/perl -w

use strict;
use warnings;
use Data::Dumper;
use Math::GSL::Vector qw/:all/;
use Math::GSL::RNG qw/:all/;
use Storable;

if ( -e 'data' ) {
    my $thawed = retrieve('data') or die $!;
    print "Got thawed data\n";
    my $v = $thawed->{vector};
    print Dumper [ $v ];
    print "Thawed vector of length " . $v->length . "\n";
    # The next line coredumps my box
    print Dumper [ $v->as_list ];
    print join (" ", $v->as_list ) . "\n";
} else {
    my %data;
    my $rng    = Math::GSL::RNG->new;
    my @stuff  = map { $rng->get } (1..10) ;
    my $vector = Math::GSL::Vector->new( \@stuff );
    print "Serialized vector of length " . $vector->length . "\n";
    print "Vector: " . join(" ", $vector->as_list) . "\n";
    $data{vector} = $vector;
    store \%data, 'data' or die $!;
}