#!/usr/bin/perl -w use File::Slurp; print "\n"; my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); my $prefissofile= $ARGV[0] // sprintf "iscritti_%04d-%02d-%02d" , ($year + 1900) , $mon, $mday; my $corso=undef; my $ordinamento=undef; my $anno_ordinamento=undef; my @record=(); sub salva_file { if (defined $corso) { $slurp_destination="$prefissofile" . "_$corso-$ordinamento". "_auto.csv"; print "\n"; #viceversa # @lines = read_file( 'filename' ) ; write_file( "$slurp_destination", @record ) or die "problemi a scrivere il file $slurp_destination..."; } } while () { push @record, $_; my $td="td"; if ( $_ =~ /^Matricola/i ) { # print "\n"; print ""; $td="th"; } elsif ( $_ =~ /^[0-9]/ ) { # print "\n"; print ""; } elsif ( $_ =~ /^Corso di studio/i ) { my @campi=split(/,/,$_); my $corsonew=lc $campi[1]; &salva_file(); my $descrizione_corso=undef; if ( $corsonew =~ /([a-z]*) - (.*)/ ) { $corso=$1; $descrizione_corso=$2; } else { $corso="RANDOM" . rand(10000000); } @record=($_); print ""; } elsif ( $_ =~ /^Ordinamento/i ) { my @campi=split(/,/,$_); my $ordinamentonew=uc $campi[1]; #... if ( $ordinamentonew =~ /([A-Z]{2}[0-9]{4})-([0-9]{2}) -/ ) { $ordinamento=$1; $anno_ordinamento=$2; } else { $ordinamento="RANDOM" . rand(10000000); $anno_ordinamento=undef; } print ""; } elsif ( $_ =~ /^Totale iscritti/i ) { print ""; } else { print ""; $td="th"; } { #codice per l'HTML di debug... my @campi=split(/,/,$_); print "<$td>"; print join ("<$td>",@campi); print "<$td>\n"; } } #bisogan salvare anche l'ultimo corso di studi! &salva_file(); print "
SALVO FILE $slurp_destination CHE HA " . @record . " RECORD
$_
$_
$corso$descrizione_corso
$ordinamento$anno_ordinamento
\n";