oct function in perl


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting oct function in perl
# 1  
Old 05-04-2009
oct function in perl

hi

i came across one program which uses some method to calculate file permissions using lstat in perl and i am not getting how its doing that i am pasting the code below ...

Code:
$ > cat b.pl
use Fcntl':mode';
my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime,$blksize,$blocks) = lstat($ARGV[0]);
my $perms = S_IMODE($mode);
print "perm : [$perms]\n" ;
my $a = ~oct('055') ;
my $b = oct('777') ;
my $c = ( $a & $b ) ;
print "[$a][$b][$c]\n" ;
$umask = "055" ;
if ( $umask ) {
                $perms = S_IMODE($perms & (~oct($umask) & oct('777')));
                print "perm now : [$perms]\n" ;
              }


output :

perm : [493]
[4294967250][511][466]
perm now : [448]

i am not getting the part which in red colour...

can any one explain this part to me ??
Login or Register to Ask a Question

Previous Thread | Next Thread

8 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Perl qr function usage

I'm not sure why I'm having so much trouble with this. I think I'm really not understanding how this works. I'm trying to store a regex in a variable for use later in a script. Can someone tell me why this doesn't match??? #!/usr/bin/perl # # # $ticket=1212; my $rx_ticket =... (1 Reply)
Discussion started by: timj123
1 Replies

2. Shell Programming and Scripting

Converting shell to Perl I run into shell built in function trap and need alternative in Perl

I am working on converting shell to Perl script. In shell we have built in function trap Do you know alternative in Perl or actually we don't need it? Thanks for contribution (3 Replies)
Discussion started by: digioleg54
3 Replies

3. Programming

searching files for hex or oct values

I have a set of files without extensions. How can I programatically tell if a file is in gzip format? The gzip file format spec RFC 1952 GZIP File Format Specification version 4.3 states that gzip files have certain hex/oct values at the beginning of the file. 1st byte = 0x1f in hex,... (2 Replies)
Discussion started by: daflore
2 Replies

4. Shell Programming and Scripting

Join Function in PERL

Hi, Can any one please let me know, how to join the lines in a file, but based one a condition. There is a file, where few lines start with a date stamp. and few do not. I wanted to join the lines till I find a date stamp. If found date its should in a newline. Please help me. ... (5 Replies)
Discussion started by: thankful123
5 Replies

5. Shell Programming and Scripting

Function extraction in PERL

the log contains mathematical operation as follows fm_void_mathematics : PCM_OP_MATHS input function PIN_FLD_NUM1 INT 1 PIN_FLD_NUM2 INT 2 PIN_FLD_RESULTS int PIN_FLD_OUT INT * D Wed Sep 16 05:40:22 2009 solaris_testing fm_void_add : PIN_FLD_SUM int 3 D Wed Sep 16 05:40:22 2009... (1 Reply)
Discussion started by: vkca
1 Replies

6. Shell Programming and Scripting

Perl function extraction

The log file reads as follows. D function_add() ADD input data 1021214 0 VAR1 STR 10 0 VAR2 STR 20 0 VAR3 STR 1 SUM=VAR1+VAR2 D function_add() ADD output data 1021267 0 DISPLAY SUM D function_sub() SUB input data 1021214 0 VAR1 STR 10 0 VAR2 STR 20 0 VAR3 STR 1 sub=VAR1-VAR2 D... (2 Replies)
Discussion started by: vkca
2 Replies

7. Shell Programming and Scripting

Use split function in perl

Hello, if i have file like this: 010000890306932455804 05306977653873 0520080417010520ISMS SMT ZZZZZZZZZZZZZOC30693599000 30971360000 ZZZZZZZZZZZZZZZZZZZZ202011302942311 010000890306946317387 05306977313623 0520080417010520ISMS SMT ZZZZZZZZZZZZZOC306942190000 30971360000... (5 Replies)
Discussion started by: chriss_58
5 Replies

8. Shell Programming and Scripting

sort function in perl

Hi, here is my perl script.This script creates an array and is sorting it using the in-built sort function in perl. #!/usr/local/bin/perl my number=6; my @num_arr=(1,2,3,4,5); my @array=(23,"$number","Hello",2.345,@num_arr); #printing the array print... (2 Replies)
Discussion started by: DILEEP410
2 Replies
Login or Register to Ask a Question
DateTime::Locale::ia(3) 				User Contributed Perl Documentation				   DateTime::Locale::ia(3)

NAME
DateTime::Locale::ia SYNOPSIS
use DateTime; my $dt = DateTime->now( locale => 'ia' ); print $dt->month_name(); DESCRIPTION
This is the DateTime locale package for Interlingua. DATA
This locale inherits from the DateTime::Locale::root locale. It contains the following data. Days Wide (format) lunedi martedi mercuridi jovedi venerdi sabbato dominica Abbreviated (format) lun mar mer jov ven sab dom Narrow (format) 2 3 4 5 6 7 1 Wide (stand-alone) lunedi martedi mercuridi jovedi venerdi sabbato dominica Abbreviated (stand-alone) lun mar mer jov ven sab dom Narrow (stand-alone) 2 3 4 5 6 7 1 Months Wide (format) januario februario martio april maio junio julio augusto septembre octobre novembre decembre Abbreviated (format) jan feb mar apr mai jun jul aug sep oct nov dec Narrow (format) 1 2 3 4 5 6 7 8 9 10 11 12 Wide (stand-alone) januario februario martio april maio junio julio augusto septembre octobre novembre decembre Abbreviated (stand-alone) jan feb mar apr mai jun jul aug sep oct nov dec Narrow (stand-alone) 1 2 3 4 5 6 7 8 9 10 11 12 Quarters Wide (format) 1-me trimestre 2-nde trimestre 3-tie trimestre 4-te trimestre Abbreviated (format) T1 T2 T3 T4 Narrow (format) 1 2 3 4 Wide (stand-alone) 1-me trimestre 2-nde trimestre 3-tie trimestre 4-te trimestre Abbreviated (stand-alone) T1 T2 T3 T4 Narrow (stand-alone) 1 2 3 4 Eras Wide ante Christo post Christo Abbreviated a.Chr. p.Chr. Narrow a.Chr. p.Chr. Date Formats Full 2008-02-05T18:30:30 = martedi, 2008 februario 05 1995-12-22T09:05:02 = venerdi, 1995 decembre 22 -0010-09-15T04:44:23 = sabbato, -10 septembre 15 Long 2008-02-05T18:30:30 = 2008 februario 5 1995-12-22T09:05:02 = 1995 decembre 22 -0010-09-15T04:44:23 = -10 septembre 15 Medium 2008-02-05T18:30:30 = 2008 feb 5 1995-12-22T09:05:02 = 1995 dec 22 -0010-09-15T04:44:23 = -10 sep 15 Short 2008-02-05T18:30:30 = 08/02/05 1995-12-22T09:05:02 = 95/12/22 -0010-09-15T04:44:23 = -10/09/15 Default 2008-02-05T18:30:30 = 2008 feb 5 1995-12-22T09:05:02 = 1995 dec 22 -0010-09-15T04:44:23 = -10 sep 15 Time Formats Full 2008-02-05T18:30:30 = 18:30:30 UTC 1995-12-22T09:05:02 = 09:05:02 UTC -0010-09-15T04:44:23 = 04:44:23 UTC Long 2008-02-05T18:30:30 = 18:30:30 UTC 1995-12-22T09:05:02 = 09:05:02 UTC -0010-09-15T04:44:23 = 04:44:23 UTC Medium 2008-02-05T18:30:30 = 18:30:30 1995-12-22T09:05:02 = 09:05:02 -0010-09-15T04:44:23 = 04:44:23 Short 2008-02-05T18:30:30 = 18:30 1995-12-22T09:05:02 = 09:05 -0010-09-15T04:44:23 = 04:44 Default 2008-02-05T18:30:30 = 18:30:30 1995-12-22T09:05:02 = 09:05:02 -0010-09-15T04:44:23 = 04:44:23 Datetime Formats Full 2008-02-05T18:30:30 = martedi, 2008 februario 05 18:30:30 UTC 1995-12-22T09:05:02 = venerdi, 1995 decembre 22 09:05:02 UTC -0010-09-15T04:44:23 = sabbato, -10 septembre 15 04:44:23 UTC Long 2008-02-05T18:30:30 = 2008 februario 5 18:30:30 UTC 1995-12-22T09:05:02 = 1995 decembre 22 09:05:02 UTC -0010-09-15T04:44:23 = -10 septembre 15 04:44:23 UTC Medium 2008-02-05T18:30:30 = 2008 feb 5 18:30:30 1995-12-22T09:05:02 = 1995 dec 22 09:05:02 -0010-09-15T04:44:23 = -10 sep 15 04:44:23 Short 2008-02-05T18:30:30 = 08/02/05 18:30 1995-12-22T09:05:02 = 95/12/22 09:05 -0010-09-15T04:44:23 = -10/09/15 04:44 Default 2008-02-05T18:30:30 = 2008 feb 5 18:30:30 1995-12-22T09:05:02 = 1995 dec 22 09:05:02 -0010-09-15T04:44:23 = -10 sep 15 04:44:23 Available Formats d (d) 2008-02-05T18:30:30 = 5 1995-12-22T09:05:02 = 22 -0010-09-15T04:44:23 = 15 EEEd (d EEE) 2008-02-05T18:30:30 = 5 mar 1995-12-22T09:05:02 = 22 ven -0010-09-15T04:44:23 = 15 sab Hm (H:mm) 2008-02-05T18:30:30 = 18:30 1995-12-22T09:05:02 = 9:05 -0010-09-15T04:44:23 = 4:44 hm (h:mm a) 2008-02-05T18:30:30 = 6:30 p.m. 1995-12-22T09:05:02 = 9:05 a.m. -0010-09-15T04:44:23 = 4:44 a.m. Hms (H:mm:ss) 2008-02-05T18:30:30 = 18:30:30 1995-12-22T09:05:02 = 9:05:02 -0010-09-15T04:44:23 = 4:44:23 hms (h:mm:ss a) 2008-02-05T18:30:30 = 6:30:30 p.m. 1995-12-22T09:05:02 = 9:05:02 a.m. -0010-09-15T04:44:23 = 4:44:23 a.m. M (L) 2008-02-05T18:30:30 = 2 1995-12-22T09:05:02 = 12 -0010-09-15T04:44:23 = 9 Md (M-d) 2008-02-05T18:30:30 = 2-5 1995-12-22T09:05:02 = 12-22 -0010-09-15T04:44:23 = 9-15 MEd (E, M-d) 2008-02-05T18:30:30 = mar, 2-5 1995-12-22T09:05:02 = ven, 12-22 -0010-09-15T04:44:23 = sab, 9-15 MMM (LLL) 2008-02-05T18:30:30 = feb 1995-12-22T09:05:02 = dec -0010-09-15T04:44:23 = sep MMMd (MMM d) 2008-02-05T18:30:30 = feb 5 1995-12-22T09:05:02 = dec 22 -0010-09-15T04:44:23 = sep 15 MMMEd (E MMM d) 2008-02-05T18:30:30 = mar feb 5 1995-12-22T09:05:02 = ven dec 22 -0010-09-15T04:44:23 = sab sep 15 MMMMd (MMMM d) 2008-02-05T18:30:30 = februario 5 1995-12-22T09:05:02 = decembre 22 -0010-09-15T04:44:23 = septembre 15 MMMMEd (E MMMM d) 2008-02-05T18:30:30 = mar februario 5 1995-12-22T09:05:02 = ven decembre 22 -0010-09-15T04:44:23 = sab septembre 15 ms (mm:ss) 2008-02-05T18:30:30 = 30:30 1995-12-22T09:05:02 = 05:02 -0010-09-15T04:44:23 = 44:23 y (y) 2008-02-05T18:30:30 = 2008 1995-12-22T09:05:02 = 1995 -0010-09-15T04:44:23 = -10 yM (y-M) 2008-02-05T18:30:30 = 2008-2 1995-12-22T09:05:02 = 1995-12 -0010-09-15T04:44:23 = -10-9 yMEd (EEE, y-M-d) 2008-02-05T18:30:30 = mar, 2008-2-5 1995-12-22T09:05:02 = ven, 1995-12-22 -0010-09-15T04:44:23 = sab, -10-9-15 yMMM (y MMM) 2008-02-05T18:30:30 = 2008 feb 1995-12-22T09:05:02 = 1995 dec -0010-09-15T04:44:23 = -10 sep yMMMEd (EEE, y MMM d) 2008-02-05T18:30:30 = mar, 2008 feb 5 1995-12-22T09:05:02 = ven, 1995 dec 22 -0010-09-15T04:44:23 = sab, -10 sep 15 yMMMM (y MMMM) 2008-02-05T18:30:30 = 2008 februario 1995-12-22T09:05:02 = 1995 decembre -0010-09-15T04:44:23 = -10 septembre yQ (y Q) 2008-02-05T18:30:30 = 2008 1 1995-12-22T09:05:02 = 1995 4 -0010-09-15T04:44:23 = -10 3 yQQQ (y QQQ) 2008-02-05T18:30:30 = 2008 T1 1995-12-22T09:05:02 = 1995 T4 -0010-09-15T04:44:23 = -10 T3 yyQ (Q yy) 2008-02-05T18:30:30 = 1 08 1995-12-22T09:05:02 = 4 95 -0010-09-15T04:44:23 = 3 -10 Miscellaneous Prefers 24 hour time? Yes Local first day of the week lunedi SUPPORT
See DateTime::Locale. AUTHOR
Dave Rolsky <autarch@urth.org> COPYRIGHT
Copyright (c) 2008 David Rolsky. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. This module was generated from data provided by the CLDR project, see the LICENSE.cldr in this distribution for details on the CLDR data's license. perl v5.18.2 2017-10-06 DateTime::Locale::ia(3)