Agree... However, join "x", @a, "x"; does produce "1x2x3xx". But join "x", @a, ""; gives "1x2x3x", like the below: #!/usr/bin/perl my $o, @a = ( "1", "2", "3" ); $o = join "x", @a; print "$o\n"; $o = join "x", @a, "x"; print "$o\n"; $o = join "x", @a, ""; print "$o\n"; where the output: 1x2x3 1x2x3xx 1x2x3x