Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re: Tie-ing hashes clobbers data

by Dave05 (Beadle)
on Apr 08, 2002 at 15:41 UTC ( [id://157463]=note: print w/replies, xml ) Need Help??


in reply to Tie-ing hashes clobbers data

A question: Why are you mixing proper method calls and procedural calls? _write() is a method, but you call it as a procedure. This means it wont be overidable in a subclass...

Well, this is my first foray into tieing, and writing classes, so basically I don't know what I'm doing here.

I've tried the return (%data) thing, and to declare the our %data;, but these don't work. But I can see that I'm over-writing globals without understanding what I'm doing and that the problem is in there somewhere. So I'm going to play around with getting rid of the glob.

Replies are listed 'Best First'.
Re: Re: Tie-ing hashes clobbers data
by Dave05 (Beadle) on Apr 08, 2002 at 15:56 UTC
    Thanks guys, I think I've got it now. I simplified the Dumper call and just pass refs around, which I think is what demerphq was talking about. The new _read and _write are:
    # ----- private subs ----- sub _write { # still need to deal with race conditions my $file = $_[0]->{FILE} ; open (FH, "> $file") or die "Can't open $file for FileHash _write: + $!"; print FH Dumper($_[0]->{DATA}); close FH or die "Can't close $file for FileHash _write: $!"; } sub _read { # still need to deal with race conditions my $file = shift; return undef unless -f $file; my $ret; unless ($ret = do $file) { warn "couldn't parse $file: $@" if $@; warn "couldn't do $file: $!" unless defined $ret; } return $ret; }
    Now I have to read up on writing methods...
      Well, dont forget to change _read to a method now...

      Yves / DeMerphq
      ---
      Writing a good benchmark isnt as easy as it might look.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://157463]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others wandering the Monastery: (6)
As of 2024-04-26 08:57 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found