Every time you think to yourself, is there a perl function you must to grep perlfunc
perldoc perlfunc |grep -i array An named array in scalar context is quite different from what would at Functions for real @ARRAYs "last", "next", "redo", "return", "sub", "wantarray" "reset", "scalar", "undef", "wantarray" $wantarray, $evaltext, $is_require, $hints, $bitmask) = ca +ller($i); @array = split(/:/); returns "undef" when its argument is an empty array, *or* when Use of "defined" on aggregates (hashes and arrays) is if (@an_array) { print "has array elements\n" } Given an expression that specifies a hash element, array element, hash slice, or array slice, deletes the specified element(s) from the hash or array. In the case of an array, if the array elements happen to be at the end, the size of the array will shrink to the highest element that tests true for entry from the DBM file. Deleting from a "tie"d hash or array Deleting an array element effectively returns that position of the array to its initial, uninitialized state. Subsequently Note that deleting array elements in the middle of an array wi +ll and @ARRAY: foreach $index (0 .. $#ARRAY) { delete $ARRAY[$index]; delete @ARRAY[0 .. $#ARRAY]; or undefining %HASH or @ARRAY: @ARRAY = (); # completely empty @ARRAY undef @ARRAY; # forget @ARRAY ever existed final operation is a hash element, array element, hash slice, +or array slice lookup: When the hash is entirely read, a null array is returned in li +st "wantarray" for more on how the evaluation context can be array with more than one value, calls execvp(3) with the array with one element in it, the argument is checked for shel +l Given an expression that specifies a hash element or array array has ever been initialized, even if the corresponding val +ue print "Exists\n" if exists $array[$index]; print "Defined\n" if defined $array[$index]; print "True\n" if $array[$index]; A hash or array element can be true only if it's defined, and final operation is a hash or array key lookup or subroutine Although the deepest nested array or hash will not spring into See "Pseudo-hashes: Using an array as a hash" in perlref for an "@" character may be taken to mean the beginning of an arra +y (This is similar to pre-extending an array by assigning a larg +er number to $#array.) If you say on an entire array or hash to find out how many elements these have. For that, use "scalar @array" and "scalar keys %hash" with tied arrays and hashes. %hash = map { getkey($_) => $_ } @array; foreach $_ (@array) { array composed of those items of the original list for which t +he %hash = map { "\L$_", 1 } @array # perl guesses EXPR. +wrong %hash = map { +"\L$_", 1 } @array # perl guesses BLOCK. +right %hash = map { ("\L$_", 1) } @array # this also works %hash = map { lc($_), 1 } @array # as does this. %hash = map +( lc($_), 1 ), @array # this is EXPR and wor +ks! %hash = map ( lc($_), 1 ), @array # evaluates to (1, @ar +ray) @hashes = map +{ lc($_), 1 }, @array # EXPR, so needs , at +end pop ARRAY pop Pops and returns the last value of the array, shortening the array by one element. Has an effect similar to $ARRAY[$#ARRAY--] If there are no elements in the array, returns the undefined ARRAY is omitted, pops the @ARGV array in the main program, an +d the @_ array in subroutines, just like "shift". Note that if you're storing FILEHANDLES in an array or other push ARRAY,LIST Treats ARRAY as a stack, and pushes the values of LIST onto th +e end of ARRAY. The length of ARRAY increases by the length of $ARRAY[++$#ARRAY] = $value; array. ARRAY file in the directories specified in the @INC array. @INC array and will complain about not finding "Foo::Bar" ther +e. (hyphens allowed for ranges). All variables and arrays beginni +ng @ARGV and @INC arrays and your %ENV hash. Resets only package "wantarray"). If no EXPR is given, returns an empty list in li +st the returned semid_ds structure or semaphore value array. packed array of semop structures. Each semop structure can be shift ARRAY shift Shifts the first value of the array off and returns it, shortening the array by 1 and moving everything down. If there are no elements in the array, returns the undefined value. If ARRAY is omitted, shifts the @_ array within the lexical scope of subroutines and formats, and the @ARGV array at file scopes the same thing to the left end of an array that "pop" and "pus +h" splice ARRAY,OFFSET,LENGTH,LIST splice ARRAY,OFFSET,LENGTH splice ARRAY,OFFSET splice ARRAY array, and replaces them with the elements of LIST, if any. In list context, returns the elements removed from the array. In no elements are removed. The array grows or shrinks as the end of the array. If LENGTH is omitted, removes everything elements off the end of the array. If both OFFSET and LENGTH a +re Example, assuming array lengths are passed before arrays: into the @_ array. Use of split in scalar context is deprecate +d, when you pass it an array as your first argument. The array is the array as the format, Perl will use the count of elements i +n the array as the format, which is almost never useful. argument in LIST, or if LIST is an array with more than one "TIESCALAR", "TIEHANDLE", "TIEARRAY", or "TIEHASH"). Typically A class implementing an ordinary array should have the followi +ng TIEARRAY classname, LIST perltie, Tie::Hash, Tie::Array, Tie::Scalar, and Tie::Handle. on a scalar value, an array (using "@"), a hash (using "%"), a return (wantarray ? (undef, $errmsg) : undef) if $they_ble +w_it; unshift ARRAY,LIST the array, and returns the new number of elements in the array +. wantarray return unless defined wantarray; # don't bother doing m +ore return wantarray ? @a : "@a";

In reply to Re: Deleting internal array elements by Anonymous Monk
in thread Deleting internal array elements by Itatsumaki

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.