#!/usr/bin/perl -w use strict; sub my_sub () { return ("1", "2", "3"); } sub my_sub2 () { my @data = (); for my $x (1..3){ push @data, ["1","2","3"]; } return @data; } sub my_sub3 () { my $test_str = "1::2::3\n"; (my @data) = $test_str =~ /^(\d{1})::(\d{1})::(\d{1})/; return @data; } sub my_sub4 () { my @data = (); while (){ chomp; push @data, [split /::/]; } return @data; } print "SUB1:\n"; print my_sub(),"\n\n"; print "SUB2:\n"; for my $x (my_sub2()){ print @$x,"\n"; } print "\n"; print "SUB3: \n"; print my_sub3,"\n\n"; my @data = my_sub4(); print "SUB4: \n"; for my $x (@data){ print @$x,"\n"; } print "\n"; print "SUB4: 2nd way\n"; for my $x (@data){ print "@$x\n\n"; } __END__ 1::2::3 1::2::3 1::2::3 #### SUB1: 123 SUB2: 123 123 123 SUB3: 123 SUB4: 123 123 123 SUB4: 2nd way 1 2 3 1 2 3 1 2 3