#!/usr/bin/env perl use strict; use warnings; package MyCode; use overload '""' => sub {shift->{'text'}}, '0+' => sub {shift->{'data'}} fallback => 1; sub new { my $class = shift; return bless {@_}, $class; } package main; my @lines; while () { chomp; next unless length; my ($payload, $string) = split ',', $_, 2; push @lines, MyCode->new(text => $string, data => $payload); } foreach my $line (@lines) { print 0+$line, " $line\n"; } __DATA__ 100,PRINT "Hello world." 200,GOTO 100