Beefy Boxes and Bandwidth Generously Provided by pair Networks
Come for the quick hacks, stay for the epiphanies.
 
PerlMonks  

Re: XChat (IRC) XDCC script

by vladb (Vicar)
on Dec 19, 2001 at 22:07 UTC ( [id://133198]=note: print w/replies, xml ) Need Help??


in reply to XChat (IRC) XDCC script

Hi, I should say your script looks pretty good ;-). Sorry, I didn't have much time to _really_ study into it, but here's what I've found after a quick scan:

In your xqsend() subroutine, you have the following:
if ($_[0]) { my $user_index = $_[0]; $user = $xdccqueue[$user_index - 1]{user}; } else { $user = $xdccqueue[0]{user}; #IRC::print("$CX Checking for$CB $user$CX from queue... $CO\n"); }
First, you don't need to initialize the $user_index variable to simply store the value of the first subroutine argument, considering that the only place you use it is in the line immediately below its initialization.
Therefore, I'd propose to exchange your if/else block for this:
$user = $xdccqueue[(($_[0] || 1) - 1)]{user};
Or, better yet, just use this:
$user = $xdccqueue[$_[0]]{user};
since
(qw(foo bar))[$_[0]]
would still yield 'foo' when @_ is empty (therefore, $_[0] is undef).

"There is no system but GNU, and Linux is one of its kernels." -- Confession of Faith

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://133198]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others studying the Monastery: (7)
As of 2024-04-23 20:02 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found