sherab has asked for the wisdom of the Perl Monks concerning the following question:
My script looks like this....package xyz; use strict; use warnings; require Exporter; our @ISA = qw(Exporter); our @EXPORT_OK = qw(@overall @electronics @safety); my @products = ( ["MG-20",1,2,3], ["JU-54",2,3,1], ["HY-21",3,1,2], ["OK-34",4,10,5], ["GT-75",9,6], ["KJ-23",6,8,7], ["PO-65",7,5,10], ["HN-34",8,6,9], ["ED-23",9,7,4], ["FR-98",10,4,8], ); my (@overall,@electronics,@safety) = breakouts(@products); sub breakouts { my (@LoL)=@_; my $i=0; my (@overall,@electronics,@safety); foreach(@LoL){ push @overall,@{$LoL[$i]}[1].":".@{$LoL[$i]}[0]; push @electronics,@{$LoL[$i]}[2].":".@{$LoL[$i]}[0]; push @safety,@{$LoL[$i]}[3].":".@{$LoL[$i]}[0]; $i++; } return(\@overall,\@electronics,\@safety); } 1;
and nothing returns for @overall, @electronics, or @safety. I am sure that it comes down to my references returning from the subroutine, but perl isn't my primary language and I'm having a devil of a time figuring this out. I'm so close! Can anyone point me in the right direction?#!/usr/bin/perl use strict; use warnings; use xyz qw(:DEFAULT @overall @electronics @safety); print "OVERALL\n"; print "@overall\n"; print "ELECTRONICS\n"; print "@electronics\n"; print "SAFETY\n"; print "@safety\n";
|
|---|