in reply to installing application from a deb file in perl script

`sudo dpkg -i DEB_PACKAGE`; #maybe?

Celebrate Intellectual Diversity

Replies are listed 'Best First'.
Re^2: installing application from a deb file in perl script
by hotlunch (Initiate) on May 30, 2014 at 20:35 UTC

    Gave it a shot, received this error:

    Useless use of a constant ("sudo dpkg -i steam.deb") in void context at ./steam.pl at line 13.

    Line 13 being where that particular code is of course.

      I get the same error when I try to use gdebi with the same style of code:

      'sudo gdebi steam.deb';

        You mixed up the `backtick` operator (qx//, which executes command via shell, interpolating variables, and returns its stdout) and the 'single-quote' operator (q//, which constructs a string without interpolating anything). Read Quote and Quote like Operators for more information about that.

        If you get the file name from a user-supplied variable, it probably would be better to use system and split the command line into different function arguments. This way you won't be surprised when the file name happens to contain some special characters which could otherwise be interpreted by shell (like $, &, (, )). Example code:

        system('sudo', 'dpkg', '-i', $myfile);