blob: 33059b41c053d2570f3881b542e2f901cfb7b881 (
plain)
- #!/usr/bin/perl
- # Copyright © 2014-2015 Jonas Smedegaard <dr@jones.dk>
- # 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 <http://www.gnu.org/licenses/>.
- #
- # 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);
|