I haven't been able to download using PID for ages....
dinkypumpkin at gmail.com
Mon Oct 1 08:12:06 EDT 2012
On 01/10/2012 10:26, Mark Rogers wrote:
> So this is just out of curiosity: Shouldn't the backslashes be escaped?
> Ie C:\\Downloads\\BBC? (Or indeed C:\\Downloads\\BBC\\ which would also
> then be valid?)
Valid, but unnecessary. The Windows command interpreter hands the path
to get_iplayer as-is, without the need for escaped backslashes.
The OP's inadvertently escaped quote made it think the argument value
wasn't yet complete, so it kept concatenating the rest of the command
line looking for the terminating quote. Of course, get_iplayer couldn't
interpret that concatenation as recognisable arguments so it just listed
the cache contents. Your Linux shell would helpfully open a
continuation prompt if you omitted a terminating quote, but at the
Windows command prompt we still party like it's 1981.
> Isn't the fact that it works without, just down to lucky choices of
> following characters, or is there something special about escaped
> quotes? I'm thinking of paths like C:\test (where \t could be seen as
> "tab" not "backslash followed by t".
No luck involved. The Windows command interpreter just passes the path
to Perl as a string, where it is interpreted as a directory path.
> Would switching to forward slashes work (C:/Downloads/BBC) on Windows? I
> know that many of the underlying Windows/DOS libraries support this.
It would work (at least for Perl apps), but there's no harm in
supporting native Windows conventions as well. Internally, get_iplayer
uses File::Spec to handle paths portably.
More information about the get_iplayer