rrrrr has asked for the wisdom of the Perl Monks concerning the following question:

I need reason for Find Invalid switch error for the below code

#!/usr/bin/perl print("find /D/ARCHIVE/BIOS/PRTFILES -mtime +1 -exec rm -rf {} \\"); system("find /D/ARCHIVE/BIOS/PRTFILES -mtime +1 -exec rm -rf {} \\");

Replies are listed 'Best First'.
Re: Reason for Find invalid switch error
by choroba (Cardinal) on Sep 18, 2012 at 07:12 UTC
    Where is a semicolon? -exec should end in a semicolon.
    لսႽ† ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ
Re: Reason for Find invalid switch error
by Anonymous Monk on Sep 18, 2012 at 07:17 UTC

    Do you see output after END?

    print "find /D/ARCHIVE/BIOS/PRTFILES -mtime +1 -exec rm -rf {} \\" __END__ find /D/ARCHIVE/BIOS/PRTFILES -mtime +1 -exec rm -rf {} \

    Is that valid linux command?

    I don't linux, but it doesn't look particularly valid to me

    Figure out how to work the linux command from linux shell, and then wrap it up in perl script

    Once you have a working command, for example, saved as myshellscript.sh you can use

     perl -MData::Dump -MIO::All -e " dd map { io($_)->all } @ARGV " myshellscript.sh  > myperlscript.pl

    to quote it properly for to give to system