$ perl -le' use Data::Dumper; my @bigarray = ( [ "123*jeff", "tortoise", "qwerty" ], [ "456*john", "parrot", "azerty" ], [ "789*jane", "budgie", "abcdef" ], ); print Dumper \@bigarray; @bigarray = map [ map split( /\*/ ), @$_ ], @bigarray; print Dumper \@bigarray; ' $VAR1 = [ [ '123*jeff', 'tortoise', 'qwerty' ], [ '456*john', 'parrot', 'azerty' ], [ '789*jane', 'budgie', 'abcdef' ] ]; $VAR1 = [ [ '123', 'jeff', 'tortoise', 'qwerty' ], [ '456', 'john', 'parrot', 'azerty' ], [ '789', 'jane', 'budgie', 'abcdef' ] ];