in reply to Re: Handling variable column position
in thread Handling variable column position

Awesome, thanks. Is there a way to do this without using a non-core module?
  • Comment on Re^2: Handling variable column position

Replies are listed 'Best First'.
Re^3: Handling variable column position
by BrowserUk (Patriarch) on Aug 19, 2016 at 12:41 UTC
    Is there a way to do this without using a non-core module?

    Update: Added required ->'s per choroba's offline observation. (Many thanks!)

    You could write your own:

    sub firstidx(&@) { my $code = shift; $code->( $_[ $_ ] ) and return $_ for 0 .. $#_; }

    But it won't be as fast as the (XS) module.

    A possibly better version::

    sub firstidx(&@) { my $code = shift; $code->( local $_ = $_[ $_ ] ) and return $_ for 0 .. $#_; }

    With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority". I knew I was on the right track :)
    In the absence of evidence, opinion is indistinguishable from prejudice.
Re^3: Handling variable column position
by GotToBTru (Prior) on Aug 19, 2016 at 12:45 UTC

    The most obvious way would be a loop.

    $i = 0; until( $F[$i] =~ m/MD:Z/ || $i > $#F ) $i += 1 } if ($i <= $#F) { print "It's field $i\n" }
    But God demonstrates His own love toward us, in that while we were yet sinners, Christ died for us. Romans 5:8 (NASB)