Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery

Re: Activating a screen saver problems

by golux (Hermit)
on May 28, 2012 at 00:37 UTC ( #972761=note: print w/replies, xml ) Need Help??

in reply to Activating a screen saver problems

Hi palkia,

I think you want the "/s" switch to the screensaver program.

This works for me, for example (if I'm in the screensaver directory):

#!/usr/bin/perl -w use strict; use warnings; my $scr = "sspipes.scr"; system("$scr/s");
Good luck!

Update:  Trying it with a random screensaver works too, so it seems /s is the correct, general solution.  Again (lazily) from within the screensaver directory:

#!/usr/bin/perl -w use strict; use warnings; my @ss = glob("*.scr"); my $scr = $ss[rand @ss]; system("$scr/s");
say  substr+lc crypt(qw $i3 SI$),4,5

Replies are listed 'Best First'.
Re^2: Activating a screen saver problems
by palkia (Monk) on May 28, 2012 at 01:58 UTC
    I have no idea what #!/usr/bin/perl -w does,
    I've never heard about '/s',
    and the requirement to be in the screensaver directory doesn't make any sense to me.

    Regardless my experiments confirmed both the '/s',
    and the directory necessities (guess I got more fundamentals to learn than I thought ^^).
    Thank you very much, it works gr8.
      Hi palkia,

      By "be in the screensaver directory", I only meant that you have to run my script from wherever the screensavers are located. In my case it's C:\WINNT\system32, in your case it's apparently C:\WINDOWS\system32. But since you're giving the whole path, that's fine too.

      The #!/usr/bin/perl -w line is not as important in Windows as in Linux, although the -w is quite useful (it enables "warnings"). You can read about "warnings" and "strict" in the perllexwarn documentation.

      I wrote a screensaver in Perl several years ago (haven't finished it though), and remembered there was a way to invoke a screensaver from the command line. A search quickly led me to the /s switch.

      Good luck and much enjoyment with your continued path in Perl!

      say  substr+lc crypt(qw $i3 SI$),4,5
        I understood what you meant by "screensaver directory",
        I just don't understand why simply giving the entire path isn't good enough (why must be "in" the directory).
        But experimenting did show it's necessary to do it your way.
        Probably the '/s' part is wrongly interpreted as a directory deepening, do to the other / or \ in the path string.

        I'm guessing #!/usr/bin/perl -w is like "use warnings", I'll read about it later ^^.

        Thx again

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://972761]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (7)
As of 2018-07-17 12:06 GMT
Find Nodes?
    Voting Booth?
    It has been suggested to rename Perl 6 in order to boost its marketing potential. Which name would you prefer?

    Results (363 votes). Check out past polls.