in reply to Re: Searching a multidimensional list
in thread Searching a multidimensional list

OK, the list of records is already sorted chronologically, so I am looking for the record that is closest to today, where:
1) the agent is either Robb or Larry; AND
2) the record directly below it in the list(i.e."immediately previous") does not have Robb or Larry as the agent.
I hope that is clearer..
Thx for the quick responses!
MrI
  • Comment on Re: Re: Searching a multidimensional list

Replies are listed 'Best First'.
Re: Re: Re: Searching a multidimensional list
by BrowserUk (Patriarch) on Aug 02, 2003 at 01:28 UTC

    Okay.

    P:\test>perl -ne"$p=tell ARGV; print if /Larry|Robb/ and not scalar <> + =~ /Larry|Robb/; seek ARGV, $p, 0; " logfile 1056128833340 Robb 2003-06-20 665 ** 1055439973653 Larry 2003-06-16 815 **

    Usual caveat: 's instead of "s on *nix.

    Update: Added code to bottle out as soon as we've printed the two records.

    perl -ne"BEGIN{$C=0}$p=tell ARGV; ++$c, print if /Larry|Robb/ and not +scalar <> =~ /Larry|Robb/; seek ARGV, $p, 0; exit if $c==2 " logfile
    or golfed a bit
    perl -ne"BEGIN{$C=0}$p=tell ARGV;/Larry|Robb/&<>!~/Larry|Robb/and++$c, +print;seek ARGV,$p,0;$c==2&&exit" logfile

    Examine what is said, not who speaks.
    "Efficiency is intelligent laziness." -David Dunham
    "When I'm working on a problem, I never think about beauty. I think only how to solve the problem. But when I have finished, if the solution is not beautiful, I know it is wrong." -Richard Buckminster Fuller
    If I understand your problem, I can solve it! Of course, the same can be said for you.