弁財天

ゴフマン「専門家を信じるのではなく、自分自身で考えて判断せよ」

Data::Dumper出力をJavaのシリアライズみたいに使う。

Perlの参照を配列としてデリファレンスする
の続き。

perlmonks.org→Using Data::Dumper to dump an array of hashes to a file
ku.ido.nu→Data::DumperでUTF-8フラグつき文字列をエスケープさせないようにするには

#!/usr/bin/perl

use strict;
use warnings;
use utf8;
#use Encode;
use Data::Dumper;
{
	package Data::Dumper;
	sub qquote { 
		#return shift;
		local($_) = shift;
		return qq("$_");
	}
}
$Data::Dumper::Useperl = 1;
$Data::Dumper::Terse = 1;   # no '$VAR1 = '
#$Data::Dumper::Useqq = 1;   # double quoted strings

my %R;

my $file = 'R_dd.txt';
%R = dd_in($file); 

$file = 'R_dd_in_out.txt';
dd_out($file, \%R); 


sub dd_out {
	my ($file, $aoh_ref) = @_;
	open my $fh, '>', $file
		or die "Can't write '$file': $!";
	#local $Data::Dumper::Terse = 1;   # no '$VAR1 = '
	#local $Data::Dumper::Useqq = 1;   # double quoted strings
	print $fh Dumper $aoh_ref;
	close $fh or die "Can't close '$file': $!";
}

sub dd_in {
	my ($file) = @_;

	open my $fh, '<', $file
		or die "Can't read '$file': $!";
	local $/ = undef;  # read whole file
	my $dumped = <$fh>;
	close $fh or die "Can't close '$file': $!";
	return %{ eval $dumped }; # @を%に変更w
}

# End of FILE.

投稿されたコメント:

コメント
コメントは無効になっています。