#!/usr/bin/perl use strict; use warnings; use Data::Dump 'pp'; use Data::Dumper; use JSON; my %data; foreach my $line () { chomp($line); my ($names, $add, $phone, $email) = split/,/, $line; push \%data, { name => $data{name}, address => $data{address}, phone => $data{phone}, email => $data{email} }; } my $json = encode_json \%data; print Dumper $json; __DATA__ Joe, Main Street, 346 20274, test1@test.com Mary, Central Road, 02615128, test2@test.com Lou, Cannal St, 612262297692848, test3@test.com Carl, Sout St, 3268022049187, test4@test.com