pimperator has asked for the wisdom of the Perl Monks concerning the following question:
The output reads as such,
This is the subroutine I'm working on.1 key Can't use string ("101") as an ARRAY ref while "strict refs" in use at + arry_test.pl line 38.
#!/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
#!/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
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Can't use string ("...") as an ARRAY ref while "strict refs" in use at x.pl line ...
by toolic (Bishop) on Jun 09, 2014 at 17:16 UTC | |
Re: Can't use string ("...") as an ARRAY ref while "strict refs" in use at x.pl line ...
by Bloodnok (Vicar) on Jun 09, 2014 at 17:16 UTC | |
Re: Can't use string ("...") as an ARRAY ref while "strict refs" in use at x.pl line ...
by InfiniteSilence (Curate) on Jun 09, 2014 at 17:59 UTC | |
by LanX (Saint) on Jun 09, 2014 at 19:22 UTC | |
by AnomalousMonk (Archbishop) on Jun 09, 2014 at 18:49 UTC |