which produces:#!/usr/bin/perl require 5.006; use strict; use warnings; my %dataset; my @fields = ( 'Customer Name', 'Telephone Number', 'Agency Reference', 'Status Description', ); { local $/ = \100; while( <DATA> ) { my @record; push @record, unpack('a6a10a10a10a64', $_); @{ $dataset{$record[0]} }{ @fields } = @record[1..$#record]; } } use Data::Dumper; print Dumper \%dataset; # print just the Telephone Numbers, sorted by record (job number) print $dataset{$_}{'Telephone Number'},$/ for sort keys %dataset; __DATA__ 1JJJJJ1NNNNNNNNN1TTTTTTTTT1RRRRRRRRR1SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS +SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS2JJJJJ2NNNNNNNNN2TTTTTTTTT2RRRRRRRRR2S +SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS3JJJJJ +3NNNNNNNNN3TTTTTTTTT3RRRRRRRRR3SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS +SSSSSSSSSSSSSSSSSSSSSSSSSS
> perl t-fixedwidth.pl $VAR1 = { '1JJJJJ' => { 'Status Description' => '1SSSSSSSSSSSSSSSSSSSS +SSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS', 'Agency Reference' => '1RRRRRRRRR', 'Customer Name' => '1NNNNNNNNN', 'Telephone Number' => '1TTTTTTTTT' }, '3JJJJJ' => { 'Status Description' => '3SSSSSSSSSSSSSSSSSSSS +SSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS', 'Agency Reference' => '3RRRRRRRRR', 'Customer Name' => '3NNNNNNNNN', 'Telephone Number' => '3TTTTTTTTT' }, '2JJJJJ' => { 'Status Description' => '2SSSSSSSSSSSSSSSSSSSS +SSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS', 'Agency Reference' => '2RRRRRRRRR', 'Customer Name' => '2NNNNNNNNN', 'Telephone Number' => '2TTTTTTTTT' } }; 1TTTTTTTTT 2TTTTTTTTT 3TTTTTTTTT >
~Particle *accelerates*
In reply to Re: extract part of line
by particle
in thread extract part of line
by jdawes
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |