5 # "PAML Ain't Markup Language"!!!
18 *import = \&Exporter::import;
22 my ($path, $struct) = @_;
25 local $Data::Dumper::Indent = 1;
26 local $Data::Dumper::Purity = 1;
27 local $Data::Dumper::Terse = 1;
28 local $Data::Dumper::Useqq = 1;
29 Data::Dumper->Dump([$struct], ['PAML']);
32 my $io = IO::File->new($path, '>')
33 || croak(qq[Couldn't open path '$path' in write mode: $!]);
36 || croak(qq[Couldn't binmode filehandle: $!]);
39 || croak(qq[Couldn't write filehandle: $!]);
42 || croak(qq[Couldn't close filehandle: $!]);
52 my $io = IO::File->new($path, '<')
53 || croak(qq[Couldn't open path '$path' in read mode: $!]);
56 || croak(qq[Couldn't binmode filehandle: $!]);
59 my $buf = do { local $/; <$io> };
60 my $got = length $buf;
63 || croak(qq[Couldn't close filehandle: $!]);
66 || croak(qq[I/O read mismatch, expexted: $exp got: $got]);
71 if (substr($data, 0, 1) eq '{') {
72 substr($data, 0, 0, '+');
75 my $struct = eval($data);
78 || croak(qq[LoadFile couldn't eval data: $@]);