Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re^5: Efficient way to replace a set of values with another set of values

by AnomalousMonk (Canon)
on Nov 23, 2012 at 22:58 UTC ( #1005323=note: print w/replies, xml ) Need Help??


in reply to Re^4: Efficient way to replace a set of values with another set of values
in thread Efficient way to replace a set of values with another set of values

... until you get to "27. This is a really long list!".

Maybe something like (and 'zz' could easily be 'zzz'):

>perl -wMstrict -e "my @lines = ( '1. This is just a sample.', '2. This is to check', '3. How a set of values', '4. can be replaced by another', '5. set of values and that too', '6. in the most efficient way.', '99. And also handle large numbers.', '999. Oops, too big!', '99 bottles of beer on the wall does not translate!', ); ;; my %xlate; { my @alphas = (undef, 'a' .. 'zz'); @xlate{ 1 .. $#alphas } = @alphas[ 1 .. $#alphas ]; } ;; s{ \A (\d+) (?= [.]) } { exists $xlate{$1} ? $xlate{$1} : (warn(qq{bad '$1' in '$_'}), '??') }xmse for @lines; ;; print qq{$_\n} for @lines; " bad '999' in '999. Oops, too big!' at -e line 1. a. This is just a sample. b. This is to check c. How a set of values d. can be replaced by another e. set of values and that too f. in the most efficient way. cu. And also handle large numbers. ??. Oops, too big! 99 bottles of beer on the wall does not translate!
  • Comment on Re^5: Efficient way to replace a set of values with another set of values
  • Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1005323]
help
Chatterbox?
[davido]: so last -f /var/run/utmp on ubuntu provides similar (though more verbose) info
[oiskuu]: glibc getlogin just does ttyname() and falls back on getutline(); it's not security related at all. (reminds me of sendmail and remote finger services of the naive early spam era)
[Corion]: But yes, "who started this process" is interesting information :)
[tye]: no, I really believe that "login user" was added as a fundamental bit of info about each process in order to enhance the usefulness of auditing
[Corion]: Ah - if that information is saved in a file, then you could theoretically spam that file and confuse getlogin(). So, don't use it for authentication :)
[tye]: that is what getlogin() certainly *used* to do. I don't believe that is what it certainly should do.
[davido]: /var/run/utmp is 664 i think.
[tye]: Note that my "man getlogin" says that it uses stdin when it should use /dev/tty (calling a glibc bug). But that does not appear to be the case when I test it. But maybe Perl's getlogin() is not using glibc's getlogin().
[oiskuu]: well, run a strace and see what the getlogin does for you.... As I said. SELinux probably has those security labels. But not regular linux.
[tye]: for example, read https://unix. stackexchange.com/ questions/146138/ loginuid-should-be -allowed-to-change -or-not-mutable-or -not

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















    Results (554 votes). Check out past polls.