+
+package server::tie;
+
+use File::Slurp;
+use Data::Dump qw/dump/;
+
+use server;
+
+sub TIESCALAR {
+ warn dump @_;
+ my ($class,$name,$default) = @_;
+
+ my $path = $server::base_dir;
+ if ( $name eq 'ip' ) {
+ $path .= '/conf/' . $ip;
+ } else {
+ $path .= '/conf/' . $server::ip;
+ }
+
+ my $o = {
+ path => "$path/$name",
+ };
+ write_file $o->{path}, $default unless -f $o->{path};
+
+warn "TIESCALAR $name ", $o->{path}, " [$default]";
+
+ bless \$o,$class;
+}
+
+sub STORE {
+ warn dump @_;
+ my ( $self, $value ) = @_;
+ write_file $$self->{path}, $value;
+}
+
+sub FETCH {
+ warn dump @_;
+ my $self = shift;
+ read_file $$self->{path};
+}
+
+3;