Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re: Reading Files

by Kenosis (Priest)
on Nov 02, 2012 at 06:11 UTC ( #1001917=note: print w/ replies, xml ) Need Help??


in reply to Reading Files

You've received excellent suggestions on how to split on whitespace to get the words out of lines.

The following is more than requested, but perhaps it will assist your scripting:

  • Always begin your scripts with use strict; use warnings;
  • Use lexically-scoped variables (my), including as file handles
  • Use the three-argument form of open
  • You can omit the parentheses when using chomp in your script (but not in all scripts)
  • The second chomp isn't necessary, since you'll be splitting on whitespace
  • You need to enclose your if(!exists $dict{$word}) ... within a for loop that iterates through the words in @words

Given the above, consider the following (it's been run through perltidy):

use strict; use warnings; my %dict; open my $infile, '<', 'words.txt' or die "can't open file $!"; while ( my $word = <$infile> ) { chomp $word; $dict{$word} = 1; } close $infile; while ( my $line = <> ) { my @words = split /\s+/, $line; for my $word (@words) { if ( !exists $dict{$word} ) { print "$word is mispelled\n"; } } }

I hope this is helpful.


Comment on Re: Reading Files
Select or Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (6)
As of 2014-12-28 03:24 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (178 votes), past polls