#!/usr/bin/perl use strict; use warnings; use feature ':5.10'; use lib 'lib'; use SPFHandler; use DBFacade; use YAML; use Data::Dumper; my $config = YAML::LoadFile('config.yml')->{Database}->{$^O}; my $db = DBFacade->connect($config->{DataSource}, $config->{Username}, $config->{Password}, $config->{DBIAttributes}, $config->{ExtraAttributes}, ) or die 'Could not connect'; my $rspc =$db->resultset('PersCourse'); my $rsp =$db->resultset('Pers'); my $rsc =$db->resultset('Course'); open (my $F, $ARGV[0])or die 'No file specified'; my @FILE = <$F>; my $SPF = SPFHandler->new(@FILE); $SPF->Parse(); open my $f, '>tmp/out.txt'; print $f Dumper $SPF; my $c = 0; my $i=0; for my $file(@{$SPF->Files()}){ my $pers = $rsp->find_or_create({SN=>$file->SN}); if ($file->Courses){ for my $course(keys %{$file->Courses}){ my $crse = $rsc->find_or_create({Course=>$course}); $rspc->find_or_create ( { CourseCode=>$file->Courses->{$course}->{id}, DateField=>$file->Courses->{$course}->{date}, CourseId=>$crse->get_column('id'), PersId=>$pers->get_column('id') } ); } } $i++; }