Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

Re^2: Tie::File Write Problem

by packetstormer (Monk)
on Nov 17, 2011 at 19:32 UTC ( #938673=note: print w/ replies, xml ) Need Help??


in reply to Re: Tie::File Write Problem
in thread Tie::File Write Problem

That's my confusion, doesn't this line change the element in the line?

if($tmp[6] eq "6 Elm") {$tmp[6] = 'XXXXX'}
I am splitting each line up based on the commas in the line and changing that element


Comment on Re^2: Tie::File Write Problem
Download Code
Re^3: Tie::File Write Problem
by toolic (Bishop) on Nov 17, 2011 at 19:57 UTC
    That line does not change the @lines array or the tied file. That just changes the @tmp array. Tip #4 from Basic debugging checklist:
    use Data::Dumper; print Dumper(\@tmp); print Dumper(\@lines);
Re^3: Tie::File Write Problem
by jethro (Monsignor) on Nov 17, 2011 at 23:35 UTC

    @tmp is a completely separate variable that is not tied to the file. The split copies the data. You would have to add the following inside the foreach-loop to change the file as you intented:

    $i= join(',',@tmp);

    Note that even this works only because $i actually is an alias to the data in @lines and not a copy (this is magic done by the foreach loop)

      Thanks - when I think it through it makes sense as to why it wasn't writing to the file!

      Rejoining the value back into the line works perfectly!

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (8)
As of 2015-07-06 08:27 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (70 votes), past polls