Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask

Re^15: How best to strip text from a file?

by Kenosis (Priest)
on Nov 14, 2012 at 03:33 UTC ( #1003738=note: print w/replies, xml ) Need Help??

in reply to Re^14: How best to strip text from a file?
in thread How best to strip text from a file?

Yes, nice one! The keys you're creating to track Order ID/title will look something like "PO-9999,Item title here.", so that should work.

As a point of clarification, since you've declared %hash right below the start of the for loop that iterates through the records, it's not necessary to use a hash reference within that hash's scope. A hash reference to %hash was sent to the subroutine, so the entire hash wouldn't have to be copied in order to access the hash's values for writing to the Excel spread sheet.

Here are some equivalents:

$$hashReference{orderID} eq $hash{orderID} is true $$hashReference{title} eq $hash{title} is true

This means that the following:

if ($seen{$$hashReference{orderID},$$hashReference{title}}) { ...

Can be written as:

if ($seen{$hash{orderID},$hash{title}}) { ...

It's certainly OK if you prefer working with the hash reference. I'd tend to work with the hash within its scope, and a reference to it outside its scope, e.g., within a subroutine.

It's been nice working with you on this, and it's clear to me that you would have done it on your own, but I appreciate this opportunity, as I learn from each task.

As before, please let me know if you have any more questions about this...

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1003738]
[Discipulus]: ah! ++choroba for seek $FH, $. = 0, 0;
[Discipulus]: anyway I lost 15 minutes with lc $str used by me instead of $str = lc $str

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (5)
As of 2017-06-26 11:23 GMT
Find Nodes?
    Voting Booth?
    How many monitors do you use while coding?

    Results (577 votes). Check out past polls.