Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re: Split columns according header delimiter

by choroba (Abbot)
on Jul 23, 2014 at 15:55 UTC ( #1094819=note: print w/ replies, xml ) Need Help??


in reply to Split columns according header delimiter

First, I store the lengths of columns to the @lengths array. I then create a template for unpack to process the table.

#!/usr/bin/perl use warnings; use strict; use Data::Dumper; my $header = <DATA>; my $pattern = <DATA>; my @lengths; push @lengths, length $1 while $pattern =~ /(\+-*)/g; my $template = join '', map "A$_", @lengths; my @names = unpack $template, $header; my @table; while (my $line = <DATA>) { substr $line, 0, 1, q(); # Remove the leading space. my %row; @row{@names} = unpack $template, $line; push @table, \%row; } print Dumper \@table; __DATA__ app db comment time blabla +--------+-----+----------+---------+------ one a rge 00:00:00 DFDF two b fghfjjf 00:00:00 fgfg three cc fjfjfj 00:00:00 fh four ddd fjgkk 00:00:00 tjku
لսႽ ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ


Comment on Re: Split columns according header delimiter
Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1094819]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (10)
As of 2014-12-26 17:10 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (173 votes), past polls