Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Re: Data managing problem

by tmharish (Friar)
on Feb 22, 2013 at 07:34 UTC ( #1020093=note: print w/replies, xml ) Need Help??


in reply to Data managing problem

This will also save it for you:

use strict ; use warnings ; my @clean_data ; my %track_hash ; while( <DATA> ) { my $line = $_ ; chomp( $line ) ; my ( $date, $word_to_uniq, $other_word ) = split( /\s+/, $line ) ; next unless( $date and $word_to_uniq and $other_word ) ; if( defined( $track_hash{ $word_to_uniq } ) ) { delete( $clean_data[ $track_hash{ $word_to_uniq } ] ) ; } push @clean_data, $line ; $track_hash{ $word_to_uniq } = $#clean_data ; } @clean_data = map( { ( $_ ) ? $_ : () } @clean_data ) ; foreach ( @clean_data ) { print "$_\n"; } __DATA__ 1/2/2013 cgoo nreuiheru 1/4/2013 doow reiqrqueih 1/5/2013 hellio ruieqrhfuepqh 1/20/2013 cgoo 3rhquh4ureyh 1/30/2013 yetil jerqohgqrij 2/13/2013 hellio rueqipheruh 2/14/2013 cgoo wehrig4r74378

Replies are listed 'Best First'.
Re^2: Data managing problem
by tmharish (Friar) on Feb 22, 2013 at 11:50 UTC

    And just for the fun of it:

    use strict ; use warnings ; my @clean_data ; my %track_hash ; while( <DATA> ) { s/\s+$// ; my $to_track ; ( $to_track = ( split( /\s+/ ) )[1] ) ? push( @clean_data, $_ ) : +next ; delete( $clean_data[ $track_hash{ $to_track } ] ) if( defined( $tr +ack_hash{ $to_track } ) ) ; $track_hash{ $to_track } = $#clean_data ; } @clean_data = map( { ( $_ ) ? $_ : () } @clean_data ) ; foreach ( @clean_data ) { print "$_\n"; } __DATA__ 1/2/2013 cgoo nreuiheru 1/4/2013 doow reiqrqueih 1/5/2013 hellio ruieqrhfuepqh 1/20/2013 cgoo 3rhquh4ureyh 1/30/2013 yetil jerqohgqrij 2/13/2013 hellio rueqipheruh 2/14/2013 cgoo wehrig4r74378

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1020093]
help
Chatterbox?
[ambrus]: So that, or if you really want something agnostic to the loop, then use curl multi. Its interface is quite reasonable (unless you use an old version),
[ambrus]: though it's very C-like (serious use of varargs so easy to pass the wrong type), and there are some minor problems (busy loop because it doesn't use the same timer as your event loop, so you have to artificially delay timer callbacks by a small amount).

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (10)
As of 2016-12-07 16:25 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    On a regular basis, I'm most likely to spy upon:













    Results (130 votes). Check out past polls.