#!/usr/bin/perl -w use strict; use Getopt::Long; use YAML; use File::Basename; GetOptions( 'o=s' => \my $ISO_FILE, 'n' => \my $DRY_RUN, ); die "Usage: $0 -o dir [dir...]\n" unless $ISO_FILE; my @DIRS = @ARGV; #my %graft_points = map { my $dir = $_; s/^.*?\.//; "/$_" => $dir } @DIRS; #my %graft_points = map { "/" . basename($_) => $_ } @DIRS; my %graft_points = map { my $dir = $_; $_ = basename($_); s{\.}{/}g; "/$_" => $dir } @DIRS; my @graft_points = map { "$_=$graft_points{$_}" } sort keys %graft_points; print Dump(\@graft_points); exit if $DRY_RUN; system qw{mkisofs -r -graft-points -o}, $ISO_FILE, @graft_points; # then use cdrecord -v $ISO_FILE