O' gracious Monks we have heard on high. Swiftly coding o'er the cubicles

PerlMonks, I throw myself at your feet. I am worthless

I've only started using use strict; and this error eludes me. Yes Monks, I tried googling it and I don't understand why this is still happening.

The output reads as such,

1 key Can't use string ("101") as an ARRAY ref while "strict refs" in use at + arry_test.pl line 38.
This is the subroutine I'm working on.
#!/usr/bin/perl use warnings; use strict; my @a = (1..12864); &chunky(@a); sub chunky { my %master; my @temp; my @input = @_; my $chunks = int(scalar(@_)/100); my $carryOver=0; my $tipping; my $i; my $k; my $keyed; for($i=1;$i<=$chunks;$i++){ $tipping = $carryOver+100; for($k=$carryOver;$k<=$tipping;$k++){ push(@temp,$input[$k]); if($k==$tipping){ $carryOver=$k;} } $keyed = $i." key"; $master{$keyed}=@temp; undef @temp; undef $keyed; } foreach my $key (sort keys %master){ print $key."\n"; foreach( @{$master{$key}} ){ print $_."\t"; } print "\n"; } }

TUSEN TAKK MONKS

I FIGURED IT OUT

#!/usr/bin/perl use warnings; use strict; my @a = (1..1284); &chunky(@a); sub chunky { my %master; my @temp; my @input = @_; my $chunks = int(scalar(@_)/100); my $carryOver=0; my $tipping; my $i; my $k; my $keyed; for($i=1;$i<=$chunks;$i++){ $tipping = $carryOver+100; for($k=$carryOver;$k<=$tipping;$k++){ push(@temp,$input[$k]); if($k==$tipping){ $carryOver=$k;} } $keyed = $i." key"; $master{$keyed}=[@temp]; undef @temp; undef $keyed; } foreach my $key (sort keys %master){ print $key."\n"; foreach( @{$master{$key}} ){ print $_."\t"; } print "\n"; } }

Should have learned about arrayrefs and such I suppose


In reply to Can't use string ("...") as an ARRAY ref while "strict refs" in use at x.pl line ... by pimperator

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.