#example 2 ( HANDLE1, HANDLE2 ) = &callafunction(); print HANDLE1 "This goes to file1.txt\n"; print HANDLE2 "This goes to file2.txt\n"; sub callafunction { open HANDLE1, "file1.txt" or die ( "open no worky!: $!" ); open HANDLE2, "file2.txt" or die ( "open no worky!: $!" ); my @array; # somehow push HANDLE1 and HANLDE2 onto @array @array; }