I've tested your code with this input :
my @in = (
'S_FER_SCAM1_ARRESTO;ARRESTO;ST;0;ST;1;0;TS;0;0',
'S_VINREU_RLIP1_ALLARMEZONA3;ALLARME ZONA 3;SU LI IR ST;0;SU LI I
+R ST;1;0;TS;0;0',
'S_VINREU_RLIP1_ANOMBAT;ANOMALIA BATTERIA;SU LI IR ST;0;SU LI IR S
+T;1;0;TS;0;0',
'S_FER_VENT1_ERRCOLINV;ERRORE PROFIBUS COLL INVERTER;SU LI IR ST;0
+;SU LI IR ST;1;0;TS;0;0',
'S_VINREU_RLIP1_CIRCZONE1;CIRCUITO ZONA 1 FUNZONANTE;SU LI IR ST;0
+;SU LI IR ST;1;0;TS;0;0',
'S_VINREU_RLIP1_CIRCZONE2;CIRCUITO ZONA 2 FUNZONANTE;SU LI IR ST;0
+;SU LI IR ST;1;0;TS;0;0',
'S_FER_SCAM1_ARRESTO;ARRESTO;SU LI IR ST;0;SU LI IR ST;1;0;TS;
+0;0',
'S_FER_VENT1_ERRCOLINV;ERRORE PROFIBUS COLL INVERTER;ST;0;ST;1;0;T
+S;0;0'
);
I print @have array and it shows 7 lines with S_FER_VENT1_ERRCOLINV is duplicated (should show only 6), it hide only one, in my data file I've lines that have the same id ($1) two times and others are normal (no duplicate id) |