in reply to Hash Variable
I threw the if( $hash{$vars[2]} ) in there in case you don't really know if the 3rd element is uniq throughout.#!/usr/bin/perl use strict; my %hash; open (DATA, "<.txt") or die "Can't open file $!\n"; my @DATA = <DATA>; close (DATA); foreach my $rec (@DATA) { chomp $rec; my @vars = split(/,/,$rec); if ($vars[0]) { # you can use map to use the regex # on each element of the array map $_ =~ s/^\s+$//g, @vars; print "$vars[0] $vars[1] $vars[2] $vars[3]\n"; if( $hash{$vars[2]} ) { warn "key '$vars[2]' already exists in hash\n"; } else { $hash{$vars[2]} = join(' ', @vars[0,1,3]); # or whatever you wanted } # your hash to be built as } }
I'm assuming that with the s/^\s+$//g your intent is to to truncate all records that are all spaces. Is this correct?
- FrankG
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: Hash Variable
by qball (Beadle) on Apr 06, 2001 at 01:13 UTC | |
by how do i know if the string is regular expression (Initiate) on Apr 06, 2001 at 02:11 UTC | |
by qball (Beadle) on Apr 06, 2001 at 02:15 UTC | |
|
Re: Re: Hash Variable
by qball (Beadle) on Apr 06, 2001 at 22:46 UTC |