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

Comment on

( #3333=superdoc: print w/ replies, xml ) Need Help??

Hi melb100,

I think you are really not far away from the solution you "dearly" seek.
I will rather use a Perl Hash, to get at the answers, while going over each of the line in a given file.
As shown below, A foot in the door, would give an entrance to the whole solution, I believe.
Like this:

use warnings; use strict; use Data::Dumper; my %line; while (<DATA>) { chomp; # not chop # initialize total number of character to get for each line my $line_total_characters_without_space = 0; foreach my $w (split) { $line{'Total_number_of_words'}++; print " In line: ", $., " word: ", $w, " has length: ", length +($w), $/; $line_total_characters_without_space += length($w); } # get the number of characters for each line, space inclusive push @{ $line{$.}{'line_total_characters_with_space'} }, length($_ +); # get the number of characters for each line, without including sp +ace push @{ $line{"line $."} }, $line_total_characters_without_space; } $Data::Dumper::Sortkeys = 1; print Dumper \%line; __DATA__ Mary had a little lamb, whose fleece was white as snow. And everywhere that Mary went, the lamb was sure to go. It followed her to school one day which was against the rules.
Output
In line: 1 word: Mary has length: 4 In line: 1 word: had has length: 3 In line: 1 word: a has length: 1 In line: 1 word: little has length: 6 In line: 1 word: lamb, has length: 5 In line: 2 word: whose has length: 5 In line: 2 word: fleece has length: 6 In line: 2 word: was has length: 3 In line: 2 word: white has length: 5 In line: 2 word: as has length: 2 In line: 2 word: snow. has length: 5 In line: 4 word: And has length: 3 In line: 4 word: everywhere has length: 10 In line: 4 word: that has length: 4 In line: 4 word: Mary has length: 4 In line: 4 word: went, has length: 5 In line: 5 word: the has length: 3 In line: 5 word: lamb has length: 4 In line: 5 word: was has length: 3 In line: 5 word: sure has length: 4 In line: 5 word: to has length: 2 In line: 5 word: go. has length: 3 In line: 7 word: It has length: 2 In line: 7 word: followed has length: 8 In line: 7 word: her has length: 3 In line: 7 word: to has length: 2 In line: 7 word: school has length: 6 In line: 7 word: one has length: 3 In line: 7 word: day has length: 3 In line: 8 word: which has length: 5 In line: 8 word: was has length: 3 In line: 8 word: against has length: 7 In line: 8 word: the has length: 3 In line: 8 word: rules. has length: 6 $VAR1 = { '1' => { 'line_total_characters_with_space' => [ 23 ] }, '2' => { 'line_total_characters_with_space' => [ 31 ] }, '3' => { 'line_total_characters_with_space' => [ 0 ] }, '4' => { 'line_total_characters_with_space' => [ 30 ] }, '5' => { 'line_total_characters_with_space' => [ 24 ] }, '6' => { 'line_total_characters_with_space' => [ 0 ] }, '7' => { 'line_total_characters_with_space' => [ 33 ] }, '8' => { 'line_total_characters_with_space' => [ 28 ] }, 'Total_number_of_words' => 34, 'line 1' => [ 19 ], 'line 2' => [ 26 ], 'line 3' => [ 0 ], 'line 4' => [ 26 ], 'line 5' => [ 19 ], 'line 6' => [ 0 ], 'line 7' => [ 27 ], 'line 8' => [ 24 ] };

If you tell me, I'll forget.
If you show me, I'll remember.
if you involve me, I'll understand.
--- Author unknown to me

In reply to Re: separate word count for each line of a file by 2teez
in thread separate word count for each line of a file by melb100

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • Outside of code tags, you may need to use entities for some characters:
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?
    Username:
    Password:

    What's my password?
    Create A New User
    Chatterbox?
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others scrutinizing the Monastery: (10)
    As of 2014-07-30 09:14 GMT
    Sections?
    Information?
    Find Nodes?
    Leftovers?
      Voting Booth?

      My favorite superfluous repetitious redundant duplicative phrase is:









      Results (230 votes), past polls