in reply to comparing columns and printing a result
So far as I can see, none of the "words" in the first column appear in the second. But it does depend on what you mean by a "word". Can you please explain the match criteria?KAAVAIN TIZIT 620-20 H10;TASOKAAVAIN SANDVIK 620-25
Which produces:#!/usr/bin/perl use strict; use warnings; my $readfile = 'blah.csv'; my $writefile = 'bleh.csv'; # Note that you were opening $writefile for READ open my $fh, "<", $readfile or die "Unable to open $readfile: $!"; open my $wfh, ">", $writefile or die "Unable to open $writefile: $!"; foreach (<$fh>) { $_ = uc $_; chomp; my ($col1, $col2) = split /;/; my @col1_words = split /\s+/, $col1; my @col2_words = split /\s+/, $col2; my %hash; @hash{@col1_words} = undef; my $found = 0; for my $word (@col2_words) { $found++ if exists $hash{$word} } print $wfh "$_;".@col1_words.";$found\n"; } close ($fh); close ($wfh);
Further update corrected typo.SUUTIN STAMM 2/60AST;SUUTIN STAMM 2,0/60 AST. VIIRAOSA (PK-1 +);3;2 SUUTINKÄRKI SPRAY TP 9501 E-SS;SUUTIN VALME HOL0125624 TP 9501 E-S +S;5;3 O-RENGAS 790X12 FPM;UPPOPUMPPU PUMPEX KV56;3;0 O-RENGAS 99X7 FPM;RULLAUSPÄÄ B NORMAALI;3;0 KÄSISAHA SANDV 2600-22-XT L=22IN;KÄSISAHA 22 IN 2600-22-XT SA +NDVIK;4;2 VEITSI STANL 10-010;MATTOVEITSI STANLEY 2-10-099 99E;3;0 VEITSENTERÄ STANL 11-916 L=62MM SUORA;MATTOVEITSENTERÄ STANLEY 0-11-9 +21 (5KPL/PAK) PITT. 49;5;0 KAAVAIN TIZIT 620-20 H10;TASOKAAVAIN SANDVIK 620-25;4;0
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: comparing columns and printing a result
by slartsa (Initiate) on Jan 26, 2009 at 14:15 UTC | |
by cdarke (Prior) on Jan 26, 2009 at 14:27 UTC | |
by slartsa (Initiate) on Jan 26, 2009 at 14:42 UTC | |
by cdarke (Prior) on Jan 26, 2009 at 15:57 UTC | |
by slartsa (Initiate) on Jan 27, 2009 at 07:25 UTC |