Huh. Cool. Yeah, that would work (via perl -x ~/.XCompose-ordering). Apparently there aren't any ill effects from even adding the following to .XCompose-ordering:

" #!perl -i.bak @ARGV = ($0); while (<>) { $end = 1 if /^__END__/; print if $end < 2; $end++ if /^"/ and $end; if (eof) { open my $f, "</usr/share/X11/locale/$ENV{LANG}/Compose" or die + "<$!"; print for <$f>; # manipulate the line here close $f; } } __END__ " # normal lines start here # etc. etc.

But I suspect this is just a consequence of .XCompose files just ignoring ill-formed lines. (and not because it accepts multi-line strings -- note that I embedded several double-quotes.)

Another interesting approach I tried was to simply add the following header:

#!/bin/env updater # perl -lanwe '(...the script from before...)' inputfile # ... # the normal output... # ...

~/bin/updater was:

#!/usr/bin/perl use strict; use warnings; my $script = ''; my $out = ''; my ($file) = @ARGV; while (<>) { next unless s/^(#\s*)//; $script .= $_ unless $. == 1; $out .= "$1$_"; } open STDOUT, '>', $file; print $out; open my $pipe, "| $ENV{SHELL}"; print $pipe $script; close $pipe;

(NB. this doesn't make a backup like the other way.) That way, I can make .XCompose-ordering itself executable, and then simply run it to regenerate it. But, it has the advantage that it works for any file format that uses '#' comments.


In reply to Re^4: Best way to keep script with generated output by benizi
in thread Best way to keep script with generated output by benizi

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.