#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
use Text::CSV;
my $file = $ARGV[0];
my $csv = Text::CSV->new ({
sep_char => '|',
allow_whitespace => 1,
binary => 1,
eol => "|$/",
allow_loose_quotes => 1, ## <--added for the win
});
open my $csv_file, "<", $file or die "Cannot open [$file] [$!]";
my $headers_ref = $csv->getline($csv_file) or die "no header";
$csv->column_names($headers_ref);
my $table_ref = $csv->getline_hr_all($csv_file);
close $csv_file;
print "headers: ".Dumper( $headers_ref );
print "table: ".Dumper( $table_ref );
####
job_execution_id | job_status | step_name | job_params | job_instance_id | read_count | write_count | exit_message |
625 | FAILED | parseSchemaStep | {"dataFeedURI":"\/storage\/D1200.txt","metadataID":"meta.xml","Date":"2015-07-31","Id":"146"} | 625 | 0 |0 | org.springframework.integration.transformer.MessageTransformationException: ; nested exception is org.springframework.messaging.MessageHandlingException: ; nested exception is java.io.IOException: IOException encountered while retrieving metadata.
at
org.springframework.integration.transformer.MessageTransformingHandler.handleRequestMessage(MessageTransformingHandler.java:74) |
####
$ ./readjoblog.pl failedjob.csv
headers: $VAR1 = [
'job_execution_id',
'job_status',
'step_name',
'job_params',
'job_instance_id',
'read_count',
'write_count',
'exit_message'
];
table: $VAR1 = [];