#!/usr/bin/perl use warnings; use strict; my @numbers = 6 .. 9; my @odd = ( 1, 5, 3 ); my @even = ( 4, 10 ); $\ = $/; $, = ' '; map { print( ( $_ % 2 ? @odd : @even ), "+$_" ) } @numbers; map { push( ( $_ % 2 ? @odd : @even ), "+$_" ) } @numbers; #### 4 10 +6 1 5 3 +7 4 10 +8 1 5 3 +9 Not an ARRAY reference at ./push_fail.pl line 13.