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