in reply to A better way to splice between 2 elements in array

#!/usr/bin/perl use strict; use warnings; my @array = qw( one 1{ two } three 2{ four five } six ); @array = grep ! ( /2{/ .. /}/ ), @array; print "@array";

See perlop about .. in scalar context, the flip-flop operator.

Makeshifts last the longest.

Replies are listed 'Best First'.
Re^2: A better way to splice between 2 elements in array
by bradcathey (Prior) on Aug 07, 2004 at 21:14 UTC

    Thanks Aristotle, you have me shaking my head. A great lesson indeed. I read the perlop and believe you were referring to:

    In scalar context, ``..'' returns a boolean value. The operator is bistable, like a flip-flop, and emulates the line-range (comma) operator of sed, awk, and various editors. Each ``..'' operator maintains its own boolean state. It is false as long as its left operand is false. Once the left operand is true, the range operator stays true until the right operand is true, AFTER which the range operator becomes false again.

    Thanks again.


    —Brad
    "Don't ever take a fence down until you know the reason it was put up. " G. K. Chesterton