#!/usr/bin/env perl =pod =head1 NAME marks-add - add files to the current set of marked files =head1 SYNOPSIS marks-add: stashes a filesystem path for use with other utilities USAGE: marks add path_to_mark EXAMPLE: marks add *.txt cd ~/notes marks mv =head1 AUTHOR Brennen Bearnes =cut use warnings; use strict; use 5.10.0; use App::MarkFiles qw(add); use Cwd qw(cwd abs_path); use Getopt::Long; use Pod::Usage; my $from_file; GetOptions( # 'config=s' => \$config_file, 'file|f' => \$from_file, help => sub { pod2usage(0) }, ) or pod2usage(2); if ($from_file) { # Use either the contents of files or standard input: while (<>) { chomp; next unless length $_; # TODO: This doesn't handle ~ expansion - use File::Glob? # Not really a problem for things coming in as params # from the shell, but it could well break user expectations # in files. add(abs_path($_)); } } else { # Use arguments as filenames to add: add(map { abs_path($_) } @ARGV); }