#!/usr/bin/perl # Copyright © 2014-2015 Jonas Smedegaard # Description: Recode vCard file(s) or STDIN to RDF/Turtle on STDOUT # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # # Depends: librdf-vcard-perl librdf-trinex-serializer-mockturtlesoup-perl use strict; use warnings; use RDF::vCard; use RDF::TrineX::Serializer::MockTurtleSoup; BEGIN { print STDERR "Reading vCard input from STDIN.\n" unless @ARGV; } my $importer = RDF::vCard::Importer->new; unless (@ARGV) { my ($lang) = split /\./, $ENV{LANG}; $lang =~ s/_/-/g; local $/ = undef; my $input = <>; $importer->import_string($input, lang => $lang); } while (my $input = shift @ARGV) { if ($input =~ /^(ftp|http|https|file):/i) { $importer->import_url($input); } else { $importer->import_file($input); } } my $ser = "RDF::TrineX::Serializer::MockTurtleSoup"->new({colspace => 0}); print $ser->serialize_model_to_string($importer->model);