Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister

Making sense of "write"??

by jeff316 (Initiate)
on Jul 16, 2004 at 19:07 UTC ( #375096=perlquestion: print w/ replies, xml ) Need Help??
jeff316 has asked for the wisdom of the Perl Monks concerning the following question:

Hi All, trying to teach myself perl and am running into some frustration using write. I've written a simple script to count the occurences of digits in numbers and compare them to the "expected" frequency (Benford's Law), but when I go to print it I can't seem to get the format right, I get "runaway format" if I try to do it per the documentation I have. Here's the exisitng write section:

<snip a bunch of stupid newbie code>
write; format FtDreport= *****************Digits 1 - 99 ************************************ NUMBER**OCCURENCES***EXPECTED *****ACTUAL************************** ******************************************************************* ~~ ^< ^>>>>> ^>>>>>>>> ^>>>>>>>> $digits, $ftdocc, $ftdexp, $ftdact ******************************************************************* + .
This works great if the file I'm reading has enough numbers (say 100K) but not if I run through 100 or so. The problem is with the "^" which I know means wrap this line, but if I try the following using @>> or even @# I get the runaway format. I can post the rest of the script if it would help . I'm using active state perl 5.83 on win32....Can anyone point me to a good resource for "write" or clue me in if I'm making some stupid mistake?


Comment on Making sense of "write"??
Download Code
Replies are listed 'Best First'.
Re: Making sense of "write"??
by Paladin (Priest) on Jul 16, 2004 at 19:57 UTC
    ^ doesn't really mean wrap the line.

    What it does is put as much text into the field as it can, then remove that text from the variable so the next time it's used, the next part of the text will be filled in.

    @ doesn't do this, so combined with the ~~, which means to repeat over and over until the variable is empty, you get the first part over and over again.

    You can find much more info on Forms in perldoc perlform.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://375096]
Approved by sgifford
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (6)
As of 2015-11-26 15:12 GMT
Find Nodes?
    Voting Booth?

    What would be the most significant thing to happen if a rope (or wire) tied the Earth and the Moon together?

    Results (701 votes), past polls