#! perl -slw use strict; my @blocks = ( [ ['A1',1,2,3,4,5,6], ['B1',1,2,3,4,5,6], ['C1',1,2,3,4,5,6], ['D1',1,2,3,4,5,6], ], [ ['A2',1,2,3,4,5,6], ['B2',1,2,3,4,5,6], ['C2',1,2,3,4,5,6], ['D2',1,2,3,4,5,6], ], [ ['A3',1,2,3,4,5,6], ['B3',1,2,3,4,5,6], ['C3',1,2,3,4,5,6], ['D3',1,2,3,4,5,6], ], [ ['A4',1,2,3,4,5,6], ['B4',1,2,3,4,5,6], ['C4',1,2,3,4,5,6], ['D4',1,2,3,4,5,6], ], [ ['A5',1,2,3,4,5,6], ['B5',1,2,3,4,5,6], ['C5',1,2,3,4,5,6], ['D5',1,2,3,4,5,6], ], ); my @new_vertex = ('N1',1,2,3,4,5,6); my $nv_blockn = 2; my $nv_pos = 2; splice @{ $blocks[$nv_blockn] }, $nv_pos, 0, \@new_vertex ; { local $" =','; #" print qq[[ @{[ map{ "[@$_]" } @$_ ]} ],] for @blocks; } __END__ C:\test>252393.pl [ [A1,1,2,3,4,5,6],[B1,1,2,3,4,5,6],[C1,1,2,3,4,5,6],[D1,1,2,3,4,5,6] ], [ [A2,1,2,3,4,5,6],[B2,1,2,3,4,5,6],[C2,1,2,3,4,5,6],[D2,1,2,3,4,5,6] ], [ [A3,1,2,3,4,5,6],[B3,1,2,3,4,5,6],[N1,1,2,3,4,5,6],[C3,1,2,3,4,5,6],[D3,1,2,3,4,5,6] ], [ [A4,1,2,3,4,5,6],[B4,1,2,3,4,5,6],[C4,1,2,3,4,5,6],[D4,1,2,3,4,5,6] ], [ [A5,1,2,3,4,5,6],[B5,1,2,3,4,5,6],[C5,1,2,3,4,5,6],[D5,1,2,3,4,5,6] ],