Disclaimer:): I know I'm not doing this right, but don't really understand how to reference an array. But if I can understand my problem in the below context, then maybe I can understand!

In the below code, everything works great, except, in the last print statement, when the $sbox[$i,$j] when $i=$j, it won't print. (I get a blank line)

Notice how @sbox at elements [0,0], [1,1], [2,2], [3,3], and [4,4] seem to not have a value, (I know they do), but why won't they print out.

I have spent like 3 days trying to figure this out, but can't please help. I have the following code: (my input are the 8 DES S-boxes, which are below the code)
<----begin code---> #use strict; #use warnings; $x=$y=0; $data_file="DES-Sboxes.txt"; open(DAT, $data_file) || die("Could not open file!"); @raw_data=<DAT>; close(DAT); $fileLen=scalar(@raw_data); #find number of file lines print "Array length: $fileLen\n"; foreach $line (@raw_data) { #puts text file into a stepped array print "x= $x\n"; @input[$x]=$line; #print "@input[$x]\n"; $x+=1; } $y=0; for($i=0; $i<=7; $i++){ #populates @sboxes into for ($j=0; $j<=4; $j++){ #print "@input[$y]\n"; @sbox[$i,$j]=@input[$y]; #s/^\s+//; #@array = split; print "$i,$j @sbox[$i,$j]\n"; #print "@array\n"; $y+=1; } } <-----end code-----> <-----begin text input file: DES-Sboxes.txt-----> S1 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7 O 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0 15 12 8 2 4 9 1 7 5 11 3 14 10 O 6 13 S2 15 1 8 14 6 11 3 4 9 7 2 13 12 O 5 10 3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 5 0 14 7 11 10 4 13 1 5 8 12 6 9 3 2 15 13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9 S3 10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8 13 7 O 9 3 4 6 10 2 8 5 14 12 11 15 1 13 6 4 9 8 15 3 0 11 1 2 12 5 10 14 7 1 10 13 0 6 9 8 7 4 15 14 3 11 5 2 12 S4 7 13 14 3 0 6 9 10 1 2 8 5 11 12 4 15 13 8 11 5 6 15 O 3 4 7 2 12 1 10 14 9 10 6 9 0 12 11 7 13 15 1 3 14 5 2 8 4 3 15 O 6 10 1 13 8 9 4 5 11 12 7 2 14 S5 2 12 4 1 7 10 11 6 8 5 3 15 13 O 14 9 14 11 2 12 4 7 13 1 5 0 15 10 3 9 8 6 4 2 1 11 10 13 7 8 15 9 12 5 6 3 O 14 11 8 12 7 1 14 2 13 6 15 O 9 10 4 5 3 S6 12 1 10 15 9 2 6 8 O 13 3 4 14 7 5 11 10 15 4 2 7 12 9 5 6 1 13 14 O 11 3 8 9 14 15 5 2 8 12 3 7 0 4 10 1 13 11 6 4 3 2 12 9 5 15 10 11 14 1 7 6 0 8 13 S7 4 11 2 14 15 0 8 13 3 12 9 7 5 10 6 1 13 0 11 7 4 9 1 10 14 3 5 12 2 15 8 6 1 4 11 13 12 3 7 14 10 15 6 8 0 5 9 2 6 11 13 8 1 4 10 7 9 5 0 15 14 2 3 12 S8 13 2 8 4 6 15 11 1 10 9 3 14 5 0 12 7 1 15 13 8 10 3 7 4 12 5 6 11 0 14 9 2 7 11 4 1 9 12 14 2 0 6 10 13 15 3 5 8 2 1 14 7 4 10 8 13 15 12 9 0 3 5 6 11 <----end text files----> <----begin output----> 0,0 0,1 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7 0,2 O 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8 0,3 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0 0,4 15 12 8 2 4 9 1 7 5 11 3 14 10 O 6 13 1,0 S2 1,1 1,2 3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 5 1,3 0 14 7 11 10 4 13 1 5 8 12 6 9 3 2 15 1,4 13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9 2,0 S3 2,1 10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8 2,2 2,3 13 6 4 9 8 15 3 0 11 1 2 12 5 10 14 7 2,4 1 10 13 0 6 9 8 7 4 15 14 3 11 5 2 12 3,0 S4 3,1 7 13 14 3 0 6 9 10 1 2 8 5 11 12 4 15 3,2 13 8 11 5 6 15 O 3 4 7 2 12 1 10 14 9 3,3 3,4 3 15 O 6 10 1 13 8 9 4 5 11 12 7 2 14 4,0 S5 4,1 2 12 4 1 7 10 11 6 8 5 3 15 13 O 14 9 4,2 14 11 2 12 4 7 13 1 5 0 15 10 3 9 8 6 4,3 4 2 1 11 10 13 7 8 15 9 12 5 6 3 O 14 4,4 5,0 S6 5,1 12 1 10 15 9 2 6 8 O 13 3 4 14 7 5 11 5,2 10 15 4 2 7 12 9 5 6 1 13 14 O 11 3 8 5,3 9 14 15 5 2 8 12 3 7 0 4 10 1 13 11 6 5,4 4 3 2 12 9 5 15 10 11 14 1 7 6 0 8 13 6,0 S7 6,1 4 11 2 14 15 0 8 13 3 12 9 7 5 10 6 1 6,2 13 0 11 7 4 9 1 10 14 3 5 12 2 15 8 6 6,3 1 4 11 13 12 3 7 14 10 15 6 8 0 5 9 2 6,4 6 11 13 8 1 4 10 7 9 5 0 15 14 2 3 12 7,0 S8 7,1 13 2 8 4 6 15 11 1 10 9 3 14 5 0 12 7 7,2 1 15 13 8 10 3 7 4 12 5 6 11 0 14 9 2 7,3 7 11 4 1 9 12 14 2 0 6 10 13 15 3 5 8 7,4 2 1 14 7 4 10 8 13 15 12 9 0 3 5 6 11 <---end output---->
JP Bourget (punklrokk)
MS Information and Security
Rochester Institute of Technology
Rochester, NY

Edited by planetscape - added code and br tags


In reply to 2d array problem: unexpected output by punklrokk

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.