Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re: Removing duplicates lines

by Eily (Monsignor)
on Sep 04, 2013 at 22:04 UTC ( [id://1052449]=note: print w/replies, xml ) Need Help??


in reply to Removing duplicates lines

Because this is Perl, There is more than one way to do it. So although you already have two working propositions, I'll add another version with the next keyword. Combined with loop labels and statement modifiers (postfix if, while etc...) they help make code that looks like plain old English. And it avoid adding another level to a block hierarchy with a if block.

use strict; use warnings; my $previous = ''; LINE: while(my $line = <DATA>) { # next LINE unless length $line >= 11; ## useless if you're absolu +tely sure that you can't have a shorter line # next LINE unless $line =~ m<\S>; ## Checking if the line isn +'t blank, same as above my $var = substr($line, 9, 2); next LINE if $var eq $previous; # with eq or ne instead of == or ! += this works even for hexadecimal values, or any string of two charac +ters # At this point, lines with the same number as the previous have b +een skipped $previous = $var; print $line; } __DATA__ AB000000026JHAHKDFK AB000000028JHKHKHKJ AB00000003033AFSFAS AB000000030HJHKH80J AB000000030LOIKJUJ8 AB0000000324446KJHK
AB000000026JHAHKDFK AB000000028JHKHKHKJ AB00000003033AFSFAS AB0000000324446KJHK

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others about the Monastery: (4)
As of 2024-04-24 19:26 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found