our *a = \25; *a = [1..10]; *a = { 'a'..'z' };; printf "Scalar:%s\nArray:[ %s ]\nHash:{ %s }\n", $a, join(',', @a ), join('.', %a );; Scalar:25 Array:[ 1,2,3,4,5,6,7,8,9,10 ] Hash:{ w.x.e.f.a.b.m.n.s.t.y.z.u.v.c.d.k.l.q.r.g.h.i.j.o.p } printf "Scalar:%s\nArray:[ %s ]\nHash:{ %s }\n", ${*a}, join(',', @{*a} ), join('.', %{*a} );; Scalar:25 Array:[ 1,2,3,4,5,6,7,8,9,10 ] Hash:{ w.x.e.f.a.b.m.n.s.t.y.z.u.v.c.d.k.l.q.r.g.h.i.j.o.p }