Plik CSV to log łączności radioamatorów.
Zawartość skryptu:
Kod: Zaznacz cały
#!/usr/bin/perl -w
use Data::Dumper;
use strict;
use warnings;
use Text::CSV;
my $csv = Text::CSV->new({ sep_char => ',' });
my $file = $ARGV[0] or die "Need to get CSV file on the command line\n";
my $wyp_mal = ' ';
my $wyp_duz = ' ';
open(my $data, '<:encoding(utf8)', $file) or die "Could not open '$file' $!\n";
while (my $line = <$data>) {
chomp $line;
if ($csv->parse($line)) {
my @fields = $csv->fields();
my $nazwa = $fields[4];
$nazwa =~ tr#/#_#;
system "convert qsl2.png -font Arial -pointsize 20 -gravity southwest -fill navyblue -stroke none -annotate 0 ' To radio: $fields[3]\n Date: $fields[0] $fields[1] GMT\n Band: $fields[5] MHz \n Mode: $fields[4]\n Sent: $fields[6]/Rcvd: $fields[7]\n Tnx: for QSO $fields[4]!!!\n Plis card QSL via Biuro PZK OT20' qsl_ok/$fields[3].jpg";
} else {
warn "Line could not be parsed: $line\n";
}
}
uruchamianie:
./qsl.pl test.csv
Daje efekt końcowy
Jaki parametr użyć, żeby tekst był na środku obrazka?
Kontakt:
jabber: sp5smy@linux.pl
email: sp5smy@linux.pl