So far the only solution I can find is to use system() to call apt-get with the -y option to turn off prompts.

You are right to hesitate to do this. There are a number of very worthwhile reasons to avoid such a technique, in general.

However, in this case...

Almost all the reasons to avoid calling system binaries involve one of two factors: portability or efficiency. Neither matters here.

Portability is utterly unimportant because the whole point of what you want to do is centered on one specific OS and one specific distribution. Portability is not involved.

Efficiency is similarly non-critical. Shelling out to a non-Perl process takes extra microseconds, but you're doing it a small handful of times; it won't add up to an extra five seconds, and you're doing that once at install time. It's a non-issue.

So don't waste time on a more elegant solution; throw your apt-get command in backticks and be done. Perl, according to the first sentence of the Camel, is a language for getting your job done. You can write this script (well, the apt-get part) in five or ten minutes and be done.


In reply to Re: Perl <-> debian apt interface by jonadab
in thread Perl <-> debian apt interface by Nomis52

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.