AW: How to append BOM at the beginning of a binary
"Nagy Tamas (TVI-GmbH)" <[email protected]> Tue, 9 Jun 2015 07:11:15 +0000
| Newsgroups | gmane.comp.lang.perl.xml |
|---|---|
| Message-ID | <[email protected]> |
Hi,
All the 3 gives the error in Windows CMD:
"Can't do inplace edit without backup."
Tamas Nagy
On 6/8/15 10:48 AM, Nagy Tamas (TVI-GmbH) wrote:
> Hi,
>
> perl -p -i -e 'BEGIN { printf "%c%c%c", 0xEF, 0xBB, 0xBF }'
> default.xml perl -p -i -e 'BEGIN { print pack "c3", 0xEF, 0xBB, 0xBF
> }' default.xml
>
> Both give the same error:
>
> Can't find string terminator "'" anywhere before EOF at -e line 1.
>
> Is it because of Windows CMD? How to get it work?
Yeah, that's probably due to the peculiar command line parsing in Windows. I happen to be on a Mac, but its shell is the same as the shell on Linux.
I don't have a Windows machine to test it on, but I think that it wants double quotes to enclose the script. Any quotes inside the script either have to be single quotes (if the string doesn't require variable interpolation),
perl -p -i -e "BEGIN { printf '%c%c%c', 0xEF, 0xBB, 0xBF }" default.xml
or escaped double quotes,
perl -p -i -e "BEGIN { printf \"%c%c%c\", 0xEF, 0xBB, 0xBF }" default.xml
or use a quoting operator,
perl -p -i -e "BEGIN { printf qq{%c%c%c}, 0xEF, 0xBB, 0xBF }" default.xml
That would apply to any Perl one-liner you try to run on Windows.
Most Perl one-liner examples that you are likely to find on the web assume a Unix-like shell.
I know all that is a digression from your XML problem, but a solution to that problem might be expressible as a one-liner, also, so it's important to get past this minor obstacle.
Why do you think you need to put a BOM on your XML file?
--
David Thomas
Sugar Land, Texas
_______________________________________________
Perl-XML mailing list
[email protected]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
_______________________________________________
Perl-XML mailing list
[email protected]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs