Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Re: Re: Re: Finding missing elements in a sequence (code)

by clemburg (Curate)
on Nov 06, 2001 at 22:13 UTC ( #123647=note: print w/replies, xml ) Need Help??


in reply to Re: Re: Finding missing elements in a sequence (code)
in thread Finding missing elements in a sequence (code)

The first numeric sort is 'numerifying' the strings and stripping the leading zeroes which messes up the rest of the routine.

I am not if that is right, at least not in the simple sense of what you say. See:

sub find_holes { my @list = @{ shift() }; @list = sort { $a <=> $b } @list; my $low = $list[0]; my $high = $list[-1]; my %isthere = map { $_ => 0 } ($low..$high); print "@{[sort keys %isthere]}\n\n"; print "@list\n\n"; $isthere{$_} = "yes" for map {$_+0} @list; my @vacancies = grep { not $isthere{$_} } sort keys %isthere; return \@vacancies; } my @issues = @{ [ '00001', '00002', '00003', '00004', # '00005', '00006', '00007', '00008', '00009', #... ] }; print join("\n", @{ find_holes( \@issues ) });

Prints:

d:\tmp\try>perl try.pl perl try.pl 1 2 3 4 5 6 7 8 9 00001 00002 00003 00004 00006 00007 00008 00009 5

What the sort probably does is to fill the number entry in the glob of the entries of @list. But why does the ".." operator use the number slot, while the hash access code and print use the string slot?

Christian Lemburg
Brainbench MVP for Perl
http://www.brainbench.com

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://123647]
help
Chatterbox?
[tye]: apropos my several mentions of audit
[Corion]: At least my (non-SELinux) Debian has that config thing set. I don't have non-Debian machines handy (except Android)
[Corion]: My Android phone also has /proc/self/ loginuid, but that displays -1 (resp. 4GB). That might be because the phone is rooted.
[tye]: -1 means nobody logged in or the process was started before audit got booted
[davido]: ok, on my ubuntu system getlogin grabs from /proc/self/ loginuid (per strace)
[tye]: disable /proc and then see what it does?
[davido]: then it reads from /etc/passwd to decide who my uid is.
[davido]: sorry, typed that before you asked me to disable proc

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (6)
As of 2017-06-23 20:00 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    How many monitors do you use while coding?















    Results (554 votes). Check out past polls.