Dr Manhattan has asked for the wisdom of the Perl Monks concerning the following question:
Hi all
I have a input file with some data that I have to sort trough which looks like this(this is just some short silly example)
hello 1234 5698 7458 hi 1457 7459 6214 good_day 1458 hi 1258 3658 good_morning 4758 hi 1453
I need to remove every element where the first word(first part of array element) appears twice or more in the array, so in this example the three elements starting with 'hi...' needs to be removed, even though the entire element is not identical.
I tried this but it is not working. Any ideas or easier ways to do this?
my $length = $#array; my $woord1; my $woord2; for (my $q = 0; $q <= $length; $q++) { if ($array[$q] =~ /^(\w+|\_)(\s)(\d{4})/) { $woord1 = "$1"; for (my $x = $length-1; $x == 0; $x--) { if ($array[$x] =~ /^(\w+|\_)(\s)(\d{4})/) { $woord2 = "$1"; if ("$woord1" eq "$woord2") { print "$woord1\t$woord2\n are the same"; delete $array[$x]; } } } } }
Thanks in advance for any help
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Removing certain lines from array
by rjt (Curate) on Jul 30, 2013 at 09:16 UTC | |
|
Re: Removing certain lines from array
by arkturuz (Curate) on Jul 30, 2013 at 09:17 UTC | |
|
Re: Removing certain lines from array
by VGavara (Novice) on Jul 30, 2013 at 11:53 UTC | |
by Loops (Curate) on Jul 30, 2013 at 12:24 UTC | |
by VGavara (Novice) on Jul 30, 2013 at 12:33 UTC | |
|
Re: Removing certain lines from array
by VGavara (Novice) on Jul 30, 2013 at 13:52 UTC | |
|
Re: Removing certain lines from array
by johngg (Canon) on Jul 30, 2013 at 16:34 UTC |