#!/usr/bin/env perl use strict; use utf8; use Getopt::Std; use File::Slurp; use Text::FrontMatter::YAML; $::VERSION = "2.0.0"; getopts("ne", \my %opts); my $metavar; if (defined $opts{n}) { # "new" post $metavar = "created"; } elsif (defined $opts{e}) { # "edited" post $metavar = "modified"; } else { die "Neither -n[ew] nor -e[dited] are defined!"; } my $timestamp = time; my $fname = shift @ARGV; my $fdata = read_file($fname); my $mdfm = Text::FrontMatter::YAML->new( document_string => $fdata ); my $metadata = $mdfm->frontmatter_hashref; $metadata->{$metavar} = $timestamp; my $wrfm = Text::FrontMatter::YAML->new( frontmatter_hashref => $metadata, data_text => $mdfm->data_text ); write_file($fname, $wrfm->document_string); 1;