in reply to How to escape single quote(s) without the use of quotemeta
I have written a small script to convert mp4 to mp3 files and I am getting stuck when files contain single quote.
You seem to be constructing command line strings and feeding them to a shell. This is complicated and best handled by already written modules, such as String::ShellQuote. Note that if you do it incorrectly, your program faces the danger of a shell injection.
If you use list form of system (e.g. system "ffmpeg", "-loglevel", "warning", "-i", $infile, "-vn", "-aq", 5, "-acodec", "libvorbis", $outfile instead of system "ffmpeg -loglevel warning -i ".quote($infile)." -vn -aq 5 -acodec libvorbis ".quote($outfile), no shell sits between your script and the music encoding process and the risk of shell injection is averted.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: How to escape single quote(s) without the use of quotemeta
by Anonymous Monk on Apr 05, 2019 at 19:48 UTC |
In Section
Seekers of Perl Wisdom